�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: embed.php Size: 9.57 KB
/home2/astrociv/public_html/gotransit.in/wp-content/plugins/elementor/includes/embed.php
<?php
namespace Elementor;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

/**
 * Elementor embed.
 *
 * Elementor embed handler class is responsible for Elementor embed functionality.
 * The class holds the supported providers with their embed patters, and handles
 * their custom properties to create custom HTML with the embedded content.
 *
 * @since 1.5.0
 */
class Embed {

	/**
	 * Embeddable background video providers.
	 *
	 * Holds the list of providers whose background video is rendered as an embedded
	 * iframe player (.elementor-background-video-embed) rather than a hosted <video>
	 * element. This is intentionally a SUBSET of the providers recognized by
	 * get_video_properties() — the frontend background-video handler only mounts
	 * YouTube/Vimeo players, so other providers must fall through to hosted rendering.
	 *
	 * @access private
	 * @static
	 *
	 * @var array Embeddable background video provider slugs.
	 */
	private static $video_embed_providers = [ 'youtube', 'vimeo' ];


	/**
	 * Provider match masks.
	 *
	 * Holds a list of supported providers with their URL structure in a regex format.
	 *
	 * @since 1.5.0
	 * @access private
	 * @static
	 *
	 * @var array Provider URL structure regex.
	 */
	private static $provider_match_masks = [
		'youtube' => '/^.*(?:youtu\.be\/|youtube(?:-nocookie)?\.com\/(?:(?:watch)?\?(?:.*&)?vi?=|(?:embed|v|vi|user|shorts)\/))([^\?&\"\'>]+)/',
		'vimeo' => '/^.*vimeo\.com\/(?:[a-z]*\/)*([‌​0-9]{6,11})[?]?.*/',
		'dailymotion' => '/^.*dailymotion.com\/(?:video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/',
		'videopress' => [
			'/^(?:http(?:s)?:\/\/)?videos\.files\.wordpress\.com\/([a-zA-Z\d]{8,})\//i',
			'/^(?:http(?:s)?:\/\/)?(?:www\.)?video(?:\.word)?press\.com\/(?:v|embed)\/([a-zA-Z\d]{8,})(.+)?/i',
		],
	];

	/**
	 * Embed patterns.
	 *
	 * Holds a list of supported providers with their embed patters.
	 *
	 * @since 1.5.0
	 * @access private
	 * @static
	 *
	 * @var array Embed patters.
	 */
	private static $embed_patterns = [
		'youtube' => 'https://www.youtube{NO_COOKIE}.com/embed/{VIDEO_ID}?feature=oembed',
		'vimeo' => 'https://player.vimeo.com/video/{VIDEO_ID}#t={TIME}',
		'dailymotion' => 'https://dailymotion.com/embed/video/{VIDEO_ID}',
		'videopress' => 'https://videopress.com/embed/{VIDEO_ID}',
	];

	/**
	 * Get video properties.
	 *
	 * Retrieve the video properties for a given video URL.
	 *
	 * @since 1.5.0
	 * @access public
	 * @static
	 *
	 * @param string $video_url Video URL.
	 *
	 * @return null|array The video properties, or null.
	 */
	public static function get_video_properties( $video_url ) {
		foreach ( self::$provider_match_masks as $provider => $match_mask ) {
			if ( ! is_array( $match_mask ) ) {
				$match_mask = [ $match_mask ];
			}

			foreach ( $match_mask as $mask ) {
				if ( preg_match( $mask, $video_url, $matches ) ) {
					return [
						'provider' => $provider,
						'video_id' => $matches[1],
					];
				}
			}
		}

		return null;
	}

	/**
	 * Is embeddable background video.
	 *
	 * Whether a given video URL belongs to a provider that the frontend
	 * background-video handler renders as an embedded iframe player.
	 *
	 * @param string $video_url Video URL.
	 *
	 * @return bool
	 **/
	public static function is_embed_video( $video_url ) {
		$video_properties = self::get_video_properties( $video_url );

		return null !== $video_properties && in_array( $video_properties['provider'], self::$video_embed_providers, true );
	}

	/**
	 * Get embed URL.
	 *
	 * Retrieve the embed URL for a given video.
	 *
	 * @since 1.5.0
	 * @access public
	 * @static
	 *
	 * @param string $video_url        Video URL.
	 * @param array  $embed_url_params Optional. Embed parameters. Default is an
	 *                                 empty array.
	 * @param array  $options          Optional. Embed options. Default is an
	 *                                 empty array.
	 *
	 * @return null|array The video properties, or null.
	 */
	public static function get_embed_url( $video_url, array $embed_url_params = [], array $options = [] ) {
		$video_properties = self::get_video_properties( $video_url );

		if ( ! $video_properties ) {
			return null;
		}

		$embed_pattern = self::$embed_patterns[ $video_properties['provider'] ];

		$replacements = [
			'{VIDEO_ID}' => $video_properties['video_id'],
		];

		if ( 'youtube' === $video_properties['provider'] ) {
			$replacements['{NO_COOKIE}'] = ! empty( $options['privacy'] ) ? '-nocookie' : '';
		} elseif ( 'vimeo' === $video_properties['provider'] ) {
			$time_text = '';

			if ( ! empty( $options['start'] ) ) {
				$time_text = date( 'H\hi\ms\s', $options['start'] ); // PHPCS:Ignore WordPress.DateTime.RestrictedFunctions.date_date
			}

			$replacements['{TIME}'] = $time_text;

			/**
			 * Handle Vimeo private videos
			 *
			 * Vimeo requires an additional parameter when displaying private/unlisted videos. It has two ways of
			 * passing that parameter:
			 * * as an endpoint - vimeo.com/{video_id}/{privacy_token}
			 * OR
			 * * as a GET parameter named `h` - vimeo.com/{video_id}?h={privacy_token}
			 *
			 * The following regex match looks for either of these methods in the Vimeo URL, and if it finds a privacy
			 * token, it adds it to the embed params array as the `h` parameter (which is how Vimeo can receive it when
			 * using Oembed).
			 */
			$h_param = [];
			preg_match( '/(?|(?:[\?|\&]h={1})([\w]+)|\d\/([\w]+))/', $video_url, $h_param );

			if ( ! empty( $h_param ) ) {
				$embed_url_params['h'] = $h_param[1];
			}
		}

		$embed_pattern = str_replace( array_keys( $replacements ), $replacements, $embed_pattern );

		return add_query_arg( $embed_url_params, $embed_pattern );
	}

	/**
	 * Get embed HTML.
	 *
	 * Retrieve the final HTML of the embedded URL.
	 *
	 * @since 1.5.0
	 * @access public
	 * @static
	 *
	 * @param string $video_url        Video URL.
	 * @param array  $embed_url_params Optional. Embed parameters. Default is an
	 *                                 empty array.
	 * @param array  $options          Optional. Embed options. Default is an
	 *                                 empty array.
	 * @param array  $frame_attributes Optional. IFrame attributes. Default is an
	 *                                 empty array.
	 *
	 * @return string The embed HTML.
	 */
	public static function get_embed_html( $video_url, array $embed_url_params = [], array $options = [], array $frame_attributes = [] ) {
		$video_properties = self::get_video_properties( $video_url );

		$default_frame_attributes = [
			'class' => 'elementor-video-iframe',
			'allowfullscreen',
			'allow' => 'clipboard-write',
			'title' => sprintf(
				/* translators: %s: Video provider */
				__( '%s Video Player', 'elementor' ),
				$video_properties['provider']
			),
		];

		$video_embed_url = self::get_embed_url( $video_url, $embed_url_params, $options );
		if ( ! $video_embed_url ) {
			return null;
		}
		if ( ! isset( $options['lazy_load'] ) || ! $options['lazy_load'] ) {
			$default_frame_attributes['src'] = $video_embed_url;
		} else {
			$default_frame_attributes['data-lazy-load'] = $video_embed_url;
		}

		if ( isset( $embed_url_params['autoplay'] ) ) {
			$default_frame_attributes['allow'] = 'autoplay';
		}

		$frame_attributes = array_merge( $default_frame_attributes, $frame_attributes );

		$attributes_for_print = [];

		foreach ( $frame_attributes as $attribute_key => $attribute_value ) {
			$attribute_value = esc_attr( $attribute_value );

			if ( is_numeric( $attribute_key ) ) {
				$attributes_for_print[] = $attribute_value;
			} else {
				$attributes_for_print[] = sprintf( '%1$s="%2$s"', $attribute_key, $attribute_value );
			}
		}

		$attributes_for_print = implode( ' ', $attributes_for_print );

		$iframe_html = "<iframe $attributes_for_print></iframe>";

		/** This filter is documented in wp-includes/class-oembed.php */
		return apply_filters( 'oembed_result', $iframe_html, $video_url, $frame_attributes );
	}

	/**
	 * Get oembed data from the cache.
	 * if not exists in the cache it will fetch from provider and then save to the cache.
	 *
	 * @param string $oembed_url
	 * @param string $cached_post_id
	 *
	 * @return array|null
	 */
	public static function get_oembed_data( $oembed_url, $cached_post_id ) {
		$cached_oembed_data = json_decode( get_post_meta( $cached_post_id, '_elementor_oembed_cache', true ), true );

		if ( isset( $cached_oembed_data[ $oembed_url ] ) ) {
			return $cached_oembed_data[ $oembed_url ];
		}

		$normalize_oembed_data = self::fetch_oembed_data( $oembed_url );

		if ( ! $cached_oembed_data ) {
			$cached_oembed_data = [];
		}

		update_post_meta( $cached_post_id, '_elementor_oembed_cache', wp_json_encode( array_merge(
			$cached_oembed_data,
			[
				$oembed_url => $normalize_oembed_data,
			]
		) ) );

		return $normalize_oembed_data;
	}

	/**
	 * Fetch oembed data from oembed provider.
	 *
	 * @param string $oembed_url
	 * @return array|null
	 */
	public static function fetch_oembed_data( $oembed_url ) {
		$oembed_data = _wp_oembed_get_object()->get_data( $oembed_url );

		if ( ! $oembed_data ) {
			return null;
		}

		return [
			'thumbnail_url' => $oembed_data->thumbnail_url,
			'title' => $oembed_data->title,
		];
	}

	/**
	 * @param string          $oembed_url
	 * @param null|string|int $cached_post_id
	 *
	 * @return string|null
	 */
	public static function get_embed_thumbnail_html( $oembed_url, $cached_post_id = null ) {
		$oembed_data = self::get_oembed_data( $oembed_url, $cached_post_id );

		if ( ! $oembed_data ) {
			return null;
		}

		return '<div class="elementor-image">' . sprintf( '<img src="%1$s" alt="%2$s" title="%2$s" width="%3$s" loading="lazy" />', $oembed_data['thumbnail_url'], esc_attr( $oembed_data['title'] ), '100%' ) . '</div>';
	}
}

Directory Contents

Dirs: 11 × Files: 22
Name Size Perms Modified Actions
- drwxr-xr-x 2026-10-29 02:31:42
Edit Download
base DIR
- drwxr-xr-x 2026-10-29 02:31:42
Edit Download
controls DIR
- drwxr-xr-x 2026-10-29 02:31:42
Edit Download
- drwxr-xr-x 2026-10-29 02:31:42
Edit Download
elements DIR
- drwxr-xr-x 2026-10-29 02:31:42
Edit Download
- drwxr-xr-x 2026-10-29 02:31:42
Edit Download
libraries DIR
- drwxr-xr-x 2026-06-24 12:18:19
Edit Download
managers DIR
- drwxr-xr-x 2026-10-29 02:31:42
Edit Download
settings DIR
- drwxr-xr-x 2026-10-29 02:31:42
Edit Download
- drwxr-xr-x 2026-10-29 02:31:42
Edit Download
widgets DIR
- drwxr-xr-x 2026-10-29 02:31:42
Edit Download
8.67 KB lrw-r--r-- 2026-05-20 06:49:28
Edit Download
9.79 KB lrw-r--r-- 2025-10-21 07:21:06
Edit Download
2.99 KB lrw-r--r-- 2023-04-23 05:52:46
Edit Download
10.96 KB lrw-r--r-- 2025-03-17 07:58:54
Edit Download
2.70 KB lrw-r--r-- 2023-04-23 05:52:46
Edit Download
15.89 KB lrw-r--r-- 2026-02-02 04:22:12
Edit Download
4.50 KB lrw-r--r-- 2026-10-13 07:18:06
Edit Download
9.57 KB lrw-r--r-- 2026-07-20 08:24:42
Edit Download
62.53 KB lrw-r--r-- 2025-03-17 07:58:54
Edit Download
40.02 KB lrw-r--r-- 2026-07-20 08:24:42
Edit Download
2.97 KB lrw-r--r-- 2026-09-01 06:17:36
Edit Download
11.16 KB lrw-r--r-- 2025-10-21 07:21:06
Edit Download
2.81 KB lrw-r--r-- 2025-03-17 07:58:54
Edit Download
15.61 KB lrw-r--r-- 2026-07-28 08:06:36
Edit Download
8.21 KB lrw-r--r-- 2026-07-20 08:24:42
Edit Download
4.16 KB lrw-r--r-- 2026-01-20 02:52:36
Edit Download
7.81 KB lrw-r--r-- 2025-08-05 08:30:00
Edit Download
8.91 KB lrw-r--r-- 2025-09-15 04:40:16
Edit Download
17.00 KB lrw-r--r-- 2025-11-10 05:55:22
Edit Download
3.44 KB lrw-r--r-- 2025-10-21 07:21:06
Edit Download
10.11 KB lrw-r--r-- 2026-09-08 05:46:58
Edit Download
27.24 KB lrw-r--r-- 2026-09-01 06:17:36
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