_createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {
	if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {
		return null;
	} // Allow the callers to control the unique policy name
	// by adding a data-tt-policy-suffix to the script element with the DOMPurify.
	// Policy creation with duplicate names throws in Trusted Types.


	let suffix = null;
	const ATTR_NAME = 'data-tt-policy-suffix';

	if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {
		suffix = purifyHostElement.getAttribute(ATTR_NAME);
	}

	const policyName = 'dompurify' + (suffix ? '#' + suffix : '');

	try {
		return trustedTypes.createPolicy(policyName, {
			createHTML(html) {
				return html;
			},

			createScriptURL(scriptUrl) {
				return scriptUrl;
			}

		});
	} catch (_) {
		// Policy creation failed (most likely another DOMPurify script has
		// already run). Skip creating the policy, as this will only cause errors
		// if TT are enforced.
		console.warn('TrustedTypes policy ' + policyName + ' could not be created.');
		return null;
	}
}
Creates a no-op policy for internal use only.
Don't export this function outside this module!
@param {?TrustedTypePolicyFactory} trustedTypes The policy factory.
@param {HTMLScriptElement} purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).
@return {?TrustedTypePolicy} The policy created (or null, if Trusted Types
are not supported or creating the policy failed).