		labelParentElem.appendChild( elem );
			countryInfo.elem = elem;

		}

		requestRenderIfNotRequested();

	}

	loadCountryData();

	const tempV = new THREE.Vector3();
	const cameraToPoint = new THREE.Vector3();
	const cameraPosition = new THREE.Vector3();
	const normalMatrix = new THREE.Matrix3();

	const settings = {
		minArea: 20,
		maxVisibleDot: - 0.2,
	};

	function updateLabels() {

		// exit if we have not loaded the data yet
		if ( ! countryInfos ) {

			return;

		}

		const large = settings.minAr