�PNG  IHDR22?�� pHYs  �� OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR RB���&*! J�!��Q�EEȠ�����Q, � ��!���������{�kּ������>���� �H3Q5� �B�������.@� $p�d!s�#�~<<+"��x� �M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!�� e�Dh;��V�EX0fK�9�-0IWfH���� � 0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4���������x����6��_-��"bb���ϫp@�t~��,/��;�m��%�h^ �u��f�@����W�p�~<�5�j>{�-�]c�K'Xt����o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A��,���� �`6�B$��BB d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(�� A�a!ڈb�X#����!�H�$ ɈQ"K�5H1R�T UH�=r9�\F��;�2����G1���Q=� �C��7�F� �dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8, �c˱"� ���V����cϱw�E� 6wB aAHXLXN�H� $4� 7 �Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�, +ȅ����3��!�[ �b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w ��Ljg(�gw��L�Ӌ�T071���oUX*�*|�� �J�&�*/T����ު U�U�T��^S}�FU3S� Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_�� c�x,!k ��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN �(���~���)�)�4L�1e\k����X�H�Q�G�6������E�Y��A�J'\'Gg����S�Sݧ �M=:��.�k���Dw�n��^��Lo��y���}/�T�m���G X� $� �<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��= ���Z~s�r:V:ޚΜ�?}����/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z���������ۯ�6�i�ܟ�4�)�Y3s���C�Q��? ��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�������!h�쐭!��Α�i�P~���a�a��~ '���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl������� �{�/�]py�����.,:�@L�N8��A*��%�w%� y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L Lݛ:��v m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y- �B��TZ(�*�geWf�͉�9���+��̳�ې7�����ᒶ��KW-X潬j9�������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n �ڴ �V����E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa��n��{��4���[���>ɾ�UUM�f�e�I���?�������m]�Nmq����#�׹���=TR��+�G�����w- 6 U����#pDy��� �� :�v�{���vg/jB��F�S��[b[�O�>����z�G��499�?r����C�d�&����ˮ/~�����јѡ�򗓿m|������������x31^�V���w�w��O�| (�h���SЧ��������c3-� cHRMz%������u0�`:�o�_�F5IDATx��ytUս�?�;���fN$$��@B�!�k��� -*�gE���j�O�kQ�ʠ`U�B_ �AÐ0%�Ȕ�@r3ޛ;߳��$�@��v����^�s����������$��ߢ !�W��5�̱'-٘������4�>�Rƫ$�G��0U�H}�_ _� #��k�MJ/=�9Du *ڲ�k�PQ;0��j|�*�$�^컂脛y���>�z×� B��� ��(�:$�ʔ_�6��C!B����MVx��a��ζyY����j��ƋY2�9�F�{r��r�딟F��Q��hY6��� x��[l��RC��������nt@��;P��3��� F�w��7��:�P���ɋ'���mj���Bƪ�$�Q�L��y��߷g��\���z����v5�p�v$�v櫻�`6~K �Y�X����,�:��"�o�e0II"(��,������l_�C���/4�+f�E�!q��:����u����c��樼.UE�@� �]K�W���$-�h]�JG���Dz)�`��.�A/ ���mᏣc�3jK� �!�>���$�Q�!�_�? \�C2(E �M$Z I{�U���s�ǣ���=��@Բe ޻��W�����@ �w����}�9v,)��.}*|"�s��di���,���G�]W�AC�������|<����[��ߕ������K�*�G nߴ!��‹��J�!��6(L�a)��Am��������;adf��:�xm��nh�;֦I��(���o�C~ډa?�=��s����h��E������xp����)���_���t��W�����´;8���`dz=(��@@�+,�;�`�fhl��XȌ�3,uI�~z(J����� �ZX�A����H'�À�㜦�82|��a�n�z2��I���� ���EY�h�ε<�0�q�{��C��v�˅��?"@��χ�x�WS+��N�~�KQ�J�8ل�� _.W��� !TU{�����,��"�� �;�������HI S� ��))�o�1�H�D� ���� (� ;����"Ҕ��,���� �F=���O��&�Ph>�`���y��߲ &S��P�<��'��1s�1cĂ�N����2)����@�u��tv��<�+�-&�����h��[!FSG���' � z z0��<����8d&�����E0�,��<��"!P�b4��� �{S�����X����.�囤���T��hEF��X�q0"-<����h���]�Py*����F⩍��@v�˂�Y08�� .q��a��s����(!<̫1�3�L�H��7sYW�`��qtu�\7��?�@�Y�� %Ka�x�GZ�*W�P��y�����N0r9��Z�c�%���q,��k�����!!,��>���IB��� �x1�Xu�Y���v-���ֺ��N������JP��a�2`�e5��w��u;�6�i���̃��(K���ťa��(l51��JL��O'%���]���ٖ뿉!��{*�p+f ���i8��D�ȑ���ܩ�M��V��ӟz��x�7Z�1i}�^͜���6e����x��)u�d�ˏ�V�eG�\�X1�����=n�U'�~Y����L�\,�(d!x ,�:�TW8� M`r���@��r+v�Q0��>^;˴�VbF��('����� �*O��i��j�Ӆ����^�S3&� ���{������.ی�� N;��NU%d0�Ce\r"�C�b��&t7N�7��� �ȪD�[%l�۪�$��'m?�A9tI�9>��NVL ��� 6v~M�����ъ�B���0����9$&=ώm��W�0���L���&��E���f�f��'+�9��hv��7,���M��6�D�&�^� �����8 D֮�����o��k^z��O��hP�8q�5d*��YVq3�{��������#LX4�?��jP=3�~�؅c�ݰ�̱�ұ��8̲��2�G�����j��έ�9��w7���U�X�w�85C��?!I&���o&����L���I#�^�eV�,�^t5�k� �xs˛\��U�8��."���{���ǵ�l4��ݼ�;��r"���G�/~���gJV�N糦��ZZ^k+NN�D��I$�=OE�z����|*�*{��%k���G��>�`9��b;�s���8,�qs��c��.b��q�%�>r��n�R�Ƨ�%�,�A��le#�8���}; 21�0�b�&�QX�f���q�00����$>�h�N�'�a3��A���/�r ��L5�8�GԲ'�����w;��c#�q1���h$*��V^�k��QĽ�b:i������� ����H F#�_���,��]g����Ը����`RUU���� ��"�qD���>-��ϤI�~��3�̴�����NZ[[555�eeek7�m����YF#[��Đ��R��i��L�H�r ��@��J-�Pŝ��_|�-��6y��ks�V�U~��6���w.����(��0A� 4��f��� /���C�xŊ�ٳ����z=6�����rg���mKo��o�/����a�g���?'9%9��P��斓��~���L{�� �H��{AW��B��$����v�1b�&Mb�ر��ر#�0`�`xMBp! )Z�Nmo�mZ�g�}�eذaWTVV ���'99��C5��&�&+5�bT>|8��PUUETT����&���t��~TE%��'������b�tEGG;RSS�S�N�v��ѯ��t����u1@�ޚ"f��͈���r'L�Ph��m��ƌ�74o��`�x�q�P���NRSS�X,�����l&&&��MFFA!-��`��ҷ�n��Yuu�����x<I�LB%����KԒ50�!�3�bz�����ʸKL���;---�l6[��`��������Ȏ;�����egg4��!D�T��jWujyZ��������K����%����p�^���X,6��sV=�ܖ����6�3�X ���4ҿ��A2�&����_k�;d�� �VfOIEND�B`� 0x0x
PHP 8.1.34
Preview: media-new-upload.js Size: 10.36 KB
/home2/astrociv/public_html/gurujii.in/wp-admin/js/media-new-upload.js
/**
 * Routes "Add New Media File" uploads through the client-side media pipeline.
 *
 * On wp-admin/media-new.php WordPress uploads via a raw plupload.Uploader
 * (created by plupload-handlers) posting to async-upload.php. When the
 * browser is cross-origin isolated and supports the client-side pipeline,
 * this script intercepts the uploader's FilesAdded handler and hands files
 * to wp.mediaUploadPipeline (media-upload-pipeline.js) instead: the
 * original image is uploaded via the REST API and thumbnails are generated
 * in the browser (wasm-vips), then sideloaded and finalized.
 *
 * The screen's existing UI helpers from plupload-handlers are reused:
 * fileQueued() builds the progress item, uploadSuccess() renders the
 * finished attachment row (via the async-upload.php markup endpoint), and
 * uploadComplete() runs when the queue drains. Failed uploads render the
 * same notice async-upload.php returns for a server-side failure, so the
 * screen looks and behaves unchanged.
 *
 * When client-side support is unavailable the script cleanly no-ops and
 * the classic plupload flow is left untouched.
 *
 * @output wp-admin/js/media-new-upload.js
 */

/* global plupload, pluploadL10n, wpUploaderInit, fileQueued, uploadStart, uploadSuccess, uploadComplete */

( function () {
	// Guard against double execution (e.g. duplicate enqueues).
	if ( window.__wpMediaNewUpload ) {
		return;
	}

	const pipeline = window.wp && wp.mediaUploadPipeline;

	// Bail unless the browser actually supports client-side processing. This
	// is the clean no-op: when the isolation headers did not land, classic
	// plupload keeps handling uploads.
	if (
		! pipeline ||
		typeof plupload === 'undefined' ||
		! wp.a11y ||
		! pipeline.configure()
	) {
		return;
	}

	window.__wpMediaNewUpload = true;

	const __ = wp.i18n.__;
	const sprintf = wp.i18n.sprintf;

	// Number of pipeline uploads currently in flight, used to fire
	// uploadComplete() once both the pipeline and plupload are done.
	let inFlightCount = 0;

	/**
	 * Marks one pipeline upload as finished, firing uploadComplete() when
	 * nothing is left uploading.
	 *
	 * The built-in UploadComplete binding never fires for pipeline uploads
	 * because every file is removed from plupload before its queue starts.
	 * Files plupload is still uploading (a batch's classic share, a HEIC
	 * handed back) end with plupload's own UploadComplete instead.
	 *
	 * @param {plupload.Uploader} up The plupload uploader.
	 */
	function finishUpload( up ) {
		inFlightCount--;
		if ( inFlightCount === 0 && up.state !== plupload.STARTED ) {
			uploadComplete();
		}
	}

	/**
	 * Returns the post the screen attaches uploads to, or 0.
	 *
	 * media-new.php validates `post_id` (the post must exist and be
	 * editable by the user) before printing it into the form, whereas the
	 * raw request value is what plupload carries in its multipart params.
	 * async-upload.php re-validates that raw value and silently uploads
	 * unattached; the REST API rejects it instead, so read the validated one.
	 *
	 * @return {number} The parent post ID, or 0.
	 */
	function getParentPostId() {
		const input = /** @type {HTMLInputElement|null} */ (
			document.getElementById( 'post_id' )
		);
		const postId = input ? parseInt( input.value, 10 ) : 0;
		return postId > 0 ? postId : 0;
	}

	/**
	 * Returns the screen's progress item for a plupload file.
	 *
	 * @param {plupload.File} file The plupload file.
	 * @return {HTMLElement|null} The item fileQueued() built, if it is still on the page.
	 */
	function getItem( file ) {
		return document.getElementById( 'media-item-' + file.id );
	}

	/**
	 * Renders a failed upload the way async-upload.php does for a
	 * server-side failure: an error notice with a real Dismiss button
	 * described by the notice, a screen reader announcement, and focus
	 * returned to the browse button once dismissed.
	 *
	 * @param {plupload.File} file    The plupload file that failed.
	 * @param {string}        message The reason the upload failed.
	 */
	function renderError( file, message ) {
		const item = getItem( file );
		if ( ! item ) {
			return;
		}

		const descriptionId = 'error-description-' + file.id;

		const button = document.createElement( 'button' );
		button.type = 'button';
		button.id = 'dismiss-' + file.id;
		button.className = 'dismiss button-link';
		button.setAttribute( 'aria-describedby', descriptionId );
		button.textContent = pluploadL10n.dismiss;

		const heading = document.createElement( 'strong' );
		heading.textContent = pluploadL10n.error_uploading.replace(
			'%s',
			file.name
		);

		const notice = document.createElement( 'div' );
		notice.id = descriptionId;
		notice.className = 'notice notice-error error-div error';
		notice.append(
			button,
			' ',
			heading,
			document.createElement( 'br' ),
			message
		);

		item.replaceChildren( notice );
		// Read by itemAjaxError() in plupload-handlers so a later server
		// error for the same file is not rendered twice.
		item.dataset.lastErr = file.id;

		setTimeout( function () {
			wp.a11y.speak(
				sprintf(
					/* translators: %s: Name of the file that failed to upload. */
					__( '%s has failed to upload.' ),
					file.name
				)
			);
		}, 1500 );

		button.addEventListener( 'click', function () {
			item.remove();
			wp.a11y.speak( __( 'Error dismissed.' ) );
			const browseButton = document.getElementById(
				'plupload-browse-button'
			);
			if ( browseButton ) {
				browseButton.focus();
			}
		} );
	}

	/**
	 * Reflects pipeline progress onto the screen's progress bar for a file.
	 *
	 * The bar is 200px wide at 100%, matching uploadProgress() in
	 * plupload-handlers.
	 *
	 * @param {plupload.File} file    The plupload file being uploaded.
	 * @param {number}        percent Progress percentage.
	 */
	function renderProgress( file, percent ) {
		const item = getItem( file );
		if ( ! item ) {
			return;
		}

		const bar = /** @type {HTMLElement|null} */ (
			item.querySelector( '.bar' )
		);
		if ( bar ) {
			bar.style.width = 2 * percent + 'px';
		}

		const label = item.querySelector( '.percent' );
		if ( label ) {
			label.textContent = percent + '%';
		}
	}

	/**
	 * Intercepts files added to the plupload uploader.
	 *
	 * Builds the screen's progress items for the files the pipeline takes
	 * (see wp.mediaUploadPipeline.routeBatch()). Returns undefined to leave
	 * the whole batch to plupload's built-in handler.
	 *
	 * @param {plupload.Uploader} up    The plupload uploader instance.
	 * @param {plupload.File[]}   files Files added to the queue.
	 * @return {boolean|undefined} False to suppress the built-in handler.
	 */
	function handleFilesAdded( up, files ) {
		return pipeline.routeBatch( up, files, {
			// Without the parent post a file uploaded from
			// media-new.php?post_id=N would land unattached even though the
			// screen counts it against that post.
			postId: getParentPostId(),
			onStart: function ( /** @type {plupload.File[]} */ queued ) {
				// Parity with the built-in handler: clear stale queue errors
				// and run the shared upload-start housekeeping.
				const queueErrors = document.getElementById( 'media-upload-error' );
				if ( queueErrors ) {
					queueErrors.replaceChildren();
				}
				uploadStart();

				// Count the whole batch first: addItems() can reject a file
				// synchronously, which must not drain the count mid-batch.
				inFlightCount += queued.length;
			},
			onQueue: function (
				/** @type {plupload.File} */ file,
				/** @type {File} */ nativeFile
			) {
				// Build the screen's progress item for this file.
				fileQueued( file );

				return {
					onSuccess: function (
						/** @type {PipelineAttachment} */ attachment
					) {
						// uploadSuccess() renders the finished attachment row
						// via the existing async-upload.php markup endpoint;
						// the server normally returns the ID as a string.
						uploadSuccess( file, String( attachment.id ) );
						finishUpload( up );
					},
					onError: function ( /** @type {UploadError} */ error ) {
						renderError(
							file,
							pipeline.getErrorText( error, nativeFile.name )
						);
						finishUpload( up );
					},
					// plupload builds its own progress item for the file it
					// took over, so this one goes away.
					onHandOff: function () {
						const item = getItem( file );
						if ( item ) {
							item.remove();
						}
						finishUpload( up );
					},
					onProgress: function ( /** @type {number} */ percent ) {
						renderProgress( file, percent );
					},
				};
			},
		} );
	}

	/**
	 * Binds the interceptor to an uploader once it has initialized.
	 *
	 * plupload sorts handlers by priority (descending) and a `false` return
	 * breaks the chain, so priority 100 runs before and suppresses the
	 * built-in FilesAdded and UploadComplete handlers.
	 *
	 * @param {plupload.Uploader} up The uploader that initialized.
	 */
	function bindUploader( up ) {
		if ( up.__wpMediaNewUploadBound ) {
			return;
		}
		up.__wpMediaNewUploadBound = true;

		up.bind(
			'FilesAdded',
			function ( up, files ) {
				return handleFilesAdded( up, files );
			},
			null,
			100
		);

		// Hold back the built-in uploadComplete() while pipeline uploads
		// are still running; finishUpload() fires it once they are done.
		up.bind(
			'UploadComplete',
			function () {
				return inFlightCount > 0 ? false : undefined;
			},
			null,
			100
		);
	}

	// plupload-handlers creates its uploader from the `wpUploaderInit`
	// settings once the DOM is ready, after this script has run, and
	// plupload binds the handlers in a settings `init` map while the
	// uploader initializes. Hooking PostInit there reaches the uploader
	// without depending on ready-callback ordering. The settings are
	// missing when the browser uploader is disabled (the html-uploader
	// fallback), in which case there is nothing to intercept.
	if ( typeof wpUploaderInit !== 'object' || ! wpUploaderInit ) {
		return;
	}

	// Either shape may already hold another script's handlers, which keep
	// running ahead of the interceptor being bound.
	const init = wpUploaderInit.init;
	if ( typeof init === 'function' ) {
		wpUploaderInit.init = function ( up ) {
			init( up );
			bindUploader( up );
		};
	} else {
		const postInit = init && init.PostInit;
		wpUploaderInit.init = Object.assign( {}, init, {
			PostInit: function (
				/** @type {plupload.Uploader} */ up,
				/** @type {unknown[]} */ ...args
			) {
				if ( typeof postInit === 'function' ) {
					postInit.call( this, up, ...args );
				}
				bindUploader( up );
			},
		} );
	}
} )();

Directory Contents

Dirs: 1 × Files: 103
Name Size Perms Modified Actions
widgets DIR
- drwxr-xr-x 2026-10-28 14:44:54
Edit Download
2.99 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
758 B lrw-r--r-- 2026-10-28 14:44:54
Edit Download
6.39 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
2.95 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
5.66 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
2.04 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
18.97 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
3.46 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
9.73 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
3.40 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
4.84 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
2.03 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
68.89 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
25.69 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
3.40 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
1.18 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
2.02 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
296.61 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
109.86 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
113.59 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
47.13 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
73.33 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
27.41 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
27.41 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
8.51 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
37.31 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
15.17 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
42.21 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
13.14 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
47.42 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
13.01 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
7.67 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
5.41 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
3.65 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
40.42 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
15.15 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
20.42 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
9.36 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
7.78 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
2.93 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
23.09 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
890 B lrw-r--r-- 2026-10-28 14:44:54
Edit Download
423 B lrw-r--r-- 2026-10-28 14:44:54
Edit Download
4.78 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
2.28 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
9.00 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
1.79 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
1.27 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
611 B lrw-r--r-- 2026-10-28 14:44:54
Edit Download
10.36 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
2.18 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
23.81 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
4.90 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
3.38 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
1.13 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
6.61 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
2.38 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
61.98 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
30.06 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
4.18 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
1.10 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
1.37 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
847 B lrw-r--r-- 2026-10-28 14:44:54
Edit Download
7.21 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
2.36 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
40.00 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
18.97 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
20.70 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
7.75 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
13.56 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
5.00 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
33.92 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
17.97 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
876 B lrw-r--r-- 2026-10-28 14:44:54
Edit Download
620 B lrw-r--r-- 2026-10-28 14:44:54
Edit Download
14.12 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
6.34 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
6.69 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
2.47 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
3.20 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
1.53 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
10.90 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
3.00 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
6.02 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
2.22 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
7.71 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
3.04 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
26.17 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
11.80 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
56.87 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
27.17 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
110.15 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
47.33 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
20.36 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
8.20 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
2.24 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
676 B lrw-r--r-- 2026-10-28 14:44:54
Edit Download
22.56 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
12.31 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
7.51 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
1.49 KB lrw-r--r-- 2026-10-28 14:44:54
Edit Download
740 B lrw-r--r-- 2026-10-28 14:44:54
Edit Download
458 B lrw-r--r-- 2026-10-28 14:44:54
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).
© 2026 0xNothings — Secure File Manager. All rights reserved. Built with ❤️ & Tailwind x Dark UI