<?php namespace HashOver;// Copyright (C) 2018-2021 Jacob Barkdull// This file is part of HashOver.//// HashOver is free software: you can redistribute it and/or modify// it under the terms of the GNU Affero General Public License as// published by the Free Software Foundation, either version 3 of the// License, or (at your option) any later version.//// HashOver is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the// GNU Affero General Public License for more details.//// You should have received a copy of the GNU Affero General Public License// along with HashOver.  If not, see <http://www.gnu.org/licenses/>.// Change to the HashOver directorychdir (realpath ('../'));// Setup HashOver for JavaScriptrequire ('backend/javascript-setup.php');try {	// Instantiate general setup class	$setup = new Setup ('javascript');	// Throw exception if requested by remote server	$setup->refererCheck ();	// Instantiate HashOver statistics class	$statistics = new Statistics ('javascript');	// Start execution timer	$statistics->executionStart ();	// Instantiate JavaScript build class	$javascript = new JavaScriptBuild ('api/frontends/count-link');	// Register initial constructor	$javascript->registerFile ('constructor.js');	// Change to standard frontend directory	$javascript->changeDirectory ('frontend');	// Register frontend settings URL queries converter method	$javascript->registerFile ('cfgqueries.js');	// Change back to count link frontend directory	$javascript->changeDirectory ('api/frontends/count-link');	// Register comment count AJAX request getter method	$javascript->registerFile ('getcommentcount.js');	// Change to standard frontend directory	$javascript->changeDirectory ('frontend');	// Register HashOver script tag getter method	$javascript->registerFile ('script.js');	// Register backend path setter	$javascript->registerFile ('backendpath.js', array (		'dependencies' => array (			'rootpath.js'		)	));	// Register AJAX-related methods	$javascript->registerFile ('ajax.js');	// Register HashOver ready state detection method	$javascript->registerFile ('onready.js', array (		'include' => $setup->getRequest ('auto', 'yes') === 'yes'	));	// Change back to count link frontend directory	$javascript->changeDirectory ('api/frontends/count-link');	// Register automatic instantiation code	$javascript->registerFile ('instantiate.js', array (		'include' => $setup->getRequest ('auto', 'yes') === 'yes'	));	// JavaScript build process output	$output = $javascript->build (		$setup->minifiesJavascript,		$setup->minifyLevel	);	// Display JavaScript build process output	echo $output, PHP_EOL;	// Display statistics	echo $statistics->executionEnd ();} catch (\Exception $error) {	echo Misc::displayException ($error, 'javascript');}