diff --git a/Controleur_sav/ControleurAccueilassure.php b/Controleur_sav/ControleurAccueilassure.php new file mode 100755 index 0000000..0fc1e91 --- /dev/null +++ b/Controleur_sav/ControleurAccueilassure.php @@ -0,0 +1,140 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Accueilassure'); + + $this->feuillemaladie = new Feuillemaladie(); + $this->adherent = new Adherent(); + $this->beneficiaire = new Beneficiaire(); + $this->garantieadherent = new Garantieadherent(); + $this->garantie = new Garantie(); + } + + public function index() { + + $idAdherent = $_SESSION['idAdherent_C']; + $d1 = $_SESSION['dUneSemaineAvant_C']; + + $d2 = date('Y-m-d'); + + $feuillemaladies = $this->feuillemaladie->getfeuillesmaladiefamille($idAdherent, $d1, $d2); + // $prestation = $this->adherent->getlisteprestations(); + + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + + $idPolice = $_SESSION['idPolice_C']; + $idAdherent = $_SESSION['idAdherent_C']; + + $idBeneficiaireAdherent = $this->beneficiaire->getIdBeneficiaireAdherent($idAdherent); + + $idBeneficiaire = $idBeneficiaireAdherent; + $_SESSION['idBeneficiaire_C'] = $idBeneficiaireAdherent; + + $dateJour = date('Y-m-d'); + + $beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $adherent = $this->adherent->getContexteAdherentId($idAdherent); + $beneficiaires = $this->beneficiaire->getBeneficiairesId($idAdherent, $dateJour); + + + $garantieadherents = $this->garantieadherent->getGarantieBeneficiaire($idBeneficiaire); + + /* + if ($idBeneficiaire !== null) { + $actes = $this->garantieadherent->getBaremePlafondAdherent($idAdherent, $idBeneficiaire); + } else { + $actes = null; + } + */ + + $actes = null; + + $this->adherent->controlerplafondadherentannuel($idAdherent); + $_SESSION['controlerPlafondBeneficiaire'] = "0"; + + + + $limite_adherent = $this->adherent->getLimitesAdherent($idAdherent, $dateJour); + + $garanties = $this->garantie->getListePourActe(); + + $tabPrestationsMois = $this->adherent->getPrestationsmensuelles($idAdherent); + $tabPrestationsliens = $this->adherent->getPrestationsLiensParente($idAdherent); + + $mois = array(); + $consos = array(); + + $lienparente = array(); + $consos_liens = array(); + + + $tabConsoParGaranties = [ + 'garanties' => [], + 'depenses' => [], + 'plafonds' => [] + ]; + + foreach ($tabPrestationsMois as $v){ + array_push($mois, $v['mois']); + array_push($consos, $v['consommationAdherent']); + } + + foreach ($tabPrestationsliens as $v){ + array_push($lienparente, $v['lienparente']); + array_push($consos_liens, $v['consommation']); + } + + foreach ($garantieadherents as $v) { + $tabConsoParGaranties['garanties'][] = $v['codeGarantie']; + $tabConsoParGaranties['depenses'][] = $v['consommationFamille']; + $tabConsoParGaranties['plafonds'][] = $v['plafondFamille']; + } + + + $nbreLienParente = count($lienparente); + + $labels_mois = json_encode($mois); + $data_consos = json_encode($consos,JSON_NUMERIC_CHECK); + + $labels_liens = json_encode($lienparente); + $data_liens = json_encode($consos_liens,JSON_NUMERIC_CHECK); + + $dataConsoParGaranties = json_encode($tabConsoParGaranties,JSON_NUMERIC_CHECK); + + $this->genererVue( + array( + 'adherent' => $adherent, + 'beneficiaires' => $beneficiaires, + 'garantieadherents' => $garantieadherents, + 'limite_adherent' => $limite_adherent, + // 'prestation' => $prestation, + 'garanties' => $garanties, + 'numeroBeneficiaire' => $numeroBeneficiaire, + 'actes' => $actes, + 'labels_mois' => $labels_mois, + 'data_consos' => $data_consos, + 'labels_liens' => $labels_liens, + 'data_liens' => $data_liens, + 'nbreLienParente' => $nbreLienParente, + 'dataConsoParGaranties' => $dataConsoParGaranties + ) + ); + } +} diff --git a/Controleur_sav/ControleurAfficherged.php b/Controleur_sav/ControleurAfficherged.php new file mode 100755 index 0000000..2a1d2b3 --- /dev/null +++ b/Controleur_sav/ControleurAfficherged.php @@ -0,0 +1,29 @@ +menuvue = new Menuvueprofil(); + $this->menuvue->getMenuVue('Afficherged'); + + $this->ged = new Ged(); + } + + public function index($nomOrigine="", $codeSecret="") + { + $numeroBeneficiaire = $_SESSION['numeroBeneficiaire_C']; + if (isset($_POST['nomOrigine'])) + { + $nomOrigine = $this->requete->getParametreFormulaire("nomOrigine"); + $codeSecret = $this->requete->getParametreFormulaire("codeSecret"); + } + $geds = $this->ged->afficherGeds($numeroBeneficiaire, $nomOrigine, $codeSecret); + + $this->genererVue(array('geds' => $geds, 'nomOrigine' => $nomOrigine, 'codeSecret' => $codeSecret)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxchangerentiteportail.php b/Controleur_sav/ControleurAjaxchangerentiteportail.php new file mode 100755 index 0000000..b4dc1f0 --- /dev/null +++ b/Controleur_sav/ControleurAjaxchangerentiteportail.php @@ -0,0 +1,54 @@ +societeuser = new Societeusercentral(); + } + + public function index() + { + $codeUtilisateur = ""; + $societeExiste = false; + + $codeSociete= $this->requete->getParametreFormulaire("codeSociete"); + + $societeExiste = $this->societeuser->existeligneconnexion($codeSociete); + $actif = "0"; + + if ($societeExiste) + { + if (isset($_COOKIE['login']["$codeSociete"])) + { + $codeUtilisateur = $_COOKIE['login']["$codeSociete"]; + } + + $actif = $this->societeuser->estActif($codeSociete); + } + + $this->genererVueAjax + ( + array + ( + 'codeUtilisateur' => $codeUtilisateur, + 'societeExiste' => $societeExiste, + 'actif' => $actif + ) + ); + } + + public function rechercher() + { + $codeSociete = $this->requete->getParametreFormulaire("codeSociete"); + + $bool = $this->societeuser->existeligne($codeSociete); + + echo $bool ? 'true' : 'false'; + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxchangerlangue.php b/Controleur_sav/ControleurAjaxchangerlangue.php new file mode 100755 index 0000000..26f67c2 --- /dev/null +++ b/Controleur_sav/ControleurAjaxchangerlangue.php @@ -0,0 +1,21 @@ +utilisateur = new Utilisateur(); + } + + public function index() + { + } + + public function changerlangue() + { + $this->utilisateur->changerlangueutilisateur(); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxchargerlisteprestataires.php b/Controleur_sav/ControleurAjaxchargerlisteprestataires.php new file mode 100755 index 0000000..6b0735f --- /dev/null +++ b/Controleur_sav/ControleurAjaxchargerlisteprestataires.php @@ -0,0 +1,54 @@ +prestataire = new Prestataire(); + } + + public function index() { + + $libelle = $this->requete->getParametreFormulaire("libelle"); + + if ($libelle=="") { + $prestataires = $this->prestataire->getprestatairevide(); + }else{ + $prestataires = $this->prestataire->getprestatairerdv($libelle); + } + + $this->genererVueAjax(array('prestataires' => $prestataires)); + } + +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Controleur_sav/ControleurAjaxconnexioncookie.php b/Controleur_sav/ControleurAjaxconnexioncookie.php new file mode 100755 index 0000000..6ffa6ed --- /dev/null +++ b/Controleur_sav/ControleurAjaxconnexioncookie.php @@ -0,0 +1,44 @@ + sociétées multiples +require_once 'Modele/Societeusercentral.php'; + +class ControleurAjaxconnexioncookie extends Controleur +{ + private $societeuser; + + public function __construct() + { + $this->societeuser = new Societeusercentral(); + } + + public function index() + { + $msgErreur = $this->requete->getParametreFormulaire("msgErreur"); + + $societeusers = $this->societeuser->getSocieteusers(); + $langues = $this->societeuser->getLangues(); + + $societeusersaas = $this->societeuser->getSocieteuserSaas(); + + $this->genererVueAjax + ( + array + ( + 'msgErreur' => $msgErreur, + 'societeusers' => $societeusers, + 'societeusersaas' => $societeusersaas, + 'langues' => $langues + ) + ); + } + + public function changerlangue() + { + $codeLangue = $this->requete->getParametreFormulaire("codeLangue"); + $_SESSION['lang'] = $codeLangue; + + $this->executerAction("index"); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxconsosadherent.php b/Controleur_sav/ControleurAjaxconsosadherent.php new file mode 100755 index 0000000..63e6089 --- /dev/null +++ b/Controleur_sav/ControleurAjaxconsosadherent.php @@ -0,0 +1,25 @@ +adherent = new Adherent(); + } + + public function index() { + + $idAdherent = $this->requete->getParametreFormulaire("idAdherent"); + + $prestations = $this->adherent->getConsosAdherent($idAdherent); + + $total_prestation = $this->adherent->getConsosTotalAdherent($idAdherent); + + $this->genererVueAjax(array('prestations' => $prestations, 'total_prestation' => $total_prestation)); + + + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxconsosbeneficiaire.php b/Controleur_sav/ControleurAjaxconsosbeneficiaire.php new file mode 100755 index 0000000..6e460ea --- /dev/null +++ b/Controleur_sav/ControleurAjaxconsosbeneficiaire.php @@ -0,0 +1,34 @@ +beneficiaire = new Beneficiaire(); + } + + public function index() { + + $idBeneficiaire = $this->requete->getParametreFormulaire("idBeneficiaire"); + + $prestations = $this->beneficiaire->getConsosBeneficiaire($idBeneficiaire); + + $total_prestation = $this->beneficiaire->getConsosTotalBeneficiaire($idBeneficiaire); + + $this->genererVueAjax(array('prestations' => $prestations, 'total_prestation' => $total_prestation)); + + + + } + + public function majplafond() + { + $idLimite = $this->requete->getParametreFormulaire("idLimite"); + $plafond = $this->requete->getParametreFormulaire("plafond"); + + $this->beneficiaire->majPlafondBeneficiaire($idLimite, $plafond); + + } +} diff --git a/Controleur_sav/ControleurAjaxconsulteractesgarantiebareme.php b/Controleur_sav/ControleurAjaxconsulteractesgarantiebareme.php new file mode 100755 index 0000000..c310116 --- /dev/null +++ b/Controleur_sav/ControleurAjaxconsulteractesgarantiebareme.php @@ -0,0 +1,70 @@ +garantie = new Garantiesbaremepriseencharge(); + + $this->actifGarantieOuiNon = (new Ouinon())->getListe(); + $this->actifGarantieLienOuiNon = (new Ouinon())->getListe(); + $this->actifActeOuiNon = (new Ouinon())->getListe(); + $this->actifActeLienOuiNon = (new Ouinon())->getListe(); + + $this->periodicite = new periodicite(); + } + + public function index() + { + $codeGarantie = $this->requete->getParametreFormulaire("codeGarantie"); + + $idBaremePriseEnCharge = $this->requete->getParametreFormulaire("idBaremePriseEnCharge"); + + $_SESSION['idBaremePriseEnCharge'] = $idBaremePriseEnCharge; + $_SESSION['codeGarantie'] = $codeGarantie; + + $periodicite = $this->periodicite->getListe(); + + $periodiciteFiltre = $this->periodicite->getListeFiltrer(); + + $forfaitTaux = $this->garantie->getTauxForfait(); + + $tmBareme = $this->garantie->getTmBareme($idBaremePriseEnCharge); + + $lienParente = $this->garantie->getLienParente(); + + $observation = $this->garantie->getObservationplafond(); + $nomgarantie = $this->garantie->getNomGarantie($codeGarantie); + + if($codeGarantie=="HOS"){ + $actesadd = null; + }else{ + $actesadd = $this->garantie->getActesGarantieBaremeAdd($idBaremePriseEnCharge,$codeGarantie); + } + + + $typeremboursement = $this->garantie->getTypeRemboursement(); + + + $this->genererVueAjax(array + ( + 'garantie' =>$nomgarantie, 'periodicite' => $periodicite, + 'observation' =>$observation, 'actesadd' => $actesadd, + 'tmBareme' => $tmBareme, 'typeremboursement' =>$typeremboursement, + 'lienParente' =>$lienParente, 'periodiciteFiltre' => $periodiciteFiltre, + 'actifGarantieOuiNon' => $this->actifGarantieOuiNon, + 'actifGarantieLienOuiNon' => $this->actifGarantieLienOuiNon, + 'actifActeOuiNon' => $this->actifActeOuiNon, + 'actifActeLienOuiNon' => $this->actifActeLienOuiNon + ) + ); + + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxconsultertableauprestation.php b/Controleur_sav/ControleurAjaxconsultertableauprestation.php new file mode 100755 index 0000000..9fc9b41 --- /dev/null +++ b/Controleur_sav/ControleurAjaxconsultertableauprestation.php @@ -0,0 +1,19 @@ +college_temp2 = new College_temp(); + } + + public function index() + { + $idCollegeTemp = $_SESSION['idCollegeTemp']; + $tableau_prestations = $this->college_temp2->getPrestation($idCollegeTemp); + + $this->genererVueAjax(array('tableau_prestations' => $tableau_prestations)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxcontextbeneficiaire.php b/Controleur_sav/ControleurAjaxcontextbeneficiaire.php new file mode 100755 index 0000000..7c1d840 --- /dev/null +++ b/Controleur_sav/ControleurAjaxcontextbeneficiaire.php @@ -0,0 +1,33 @@ +finger = new Finger(); + } + + public function index() { + $idBeneficiaire = $this->requete->getParametre("idBeneficiaire"); + + if ($idBeneficiaire == $_SESSION['idBeneficiaire_sav']) + { + $_SESSION['okId'] = $this->requete->getParametre("okId"); + } + else + { + $_SESSION['okId'] = "-1"; + } + $_SESSION['idBeneficiaire_C'] = $idBeneficiaire; + $_SESSION['idBeneficiaire_sav'] = $_SESSION['idBeneficiaire_C']; + } + + public function saveenroleur() + { + $user_id = $this->requete->getParametreFormulaire("user_id"); + $this->finger->saveenroleur($user_id); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxcontextfeuillemaladie.php b/Controleur_sav/ControleurAjaxcontextfeuillemaladie.php new file mode 100755 index 0000000..3ed76ff --- /dev/null +++ b/Controleur_sav/ControleurAjaxcontextfeuillemaladie.php @@ -0,0 +1,12 @@ +requete->getParametre("numeroFeuilleMaladie"); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxcontextpharmaciencien.php b/Controleur_sav/ControleurAjaxcontextpharmaciencien.php new file mode 100755 index 0000000..c05cd9d --- /dev/null +++ b/Controleur_sav/ControleurAjaxcontextpharmaciencien.php @@ -0,0 +1,13 @@ +requete->getParametre("numeroBonOrdonnance"); + $_SESSION['codePrestataireLivraison_C'] = $this->requete->getParametre("codePrestataireLivraison"); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxdeconnexion.php b/Controleur_sav/ControleurAjaxdeconnexion.php new file mode 100755 index 0000000..39e564e --- /dev/null +++ b/Controleur_sav/ControleurAjaxdeconnexion.php @@ -0,0 +1,17 @@ +utilisateur = new Utilisateur(); + } + + public function index() { + $login = $this->requete->getSession()->getAttribut("login"); + $this->utilisateur->viderTablesTemporairesUser($login); + $this->requete->getSession()->detruire(); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxdemanderdv.php b/Controleur_sav/ControleurAjaxdemanderdv.php new file mode 100755 index 0000000..4f5559f --- /dev/null +++ b/Controleur_sav/ControleurAjaxdemanderdv.php @@ -0,0 +1,84 @@ +rendezvous = new Rendezvous(); + } + + public function index() + { + $idAdherent = $_SESSION['idAdherent_C']; + $d1 = $this->requete->getParametreDate("d1"); + $d2 = $this->requete->getParametreDate("d2"); + $codeEtatRdv = $this->requete->getParametreFormulaire("codeEtatRdv"); + + $_SESSION['codeEtatRdv'] = $codeEtatRdv; + + $demandes = $this->rendezvous->getPrisesRdv($idAdherent, $d1, $d2, $codeEtatRdv); + + $this->genererVueAjax(array('demandes' => $demandes)); + } + + public function enregistrer() + { + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + $debutRdv = $this->requete->getParametreDate("debutRdv"); + $finRdv = $this->requete->getParametreDate("finRdv"); + + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $codeSpecialite = $this->requete->getParametreFormulaire("codeSpecialite"); + + $motifRdv = $this->requete->getParametreFormulaire("motifRdv"); + + $this->rendezvous->enregistrerrdv($numeroBeneficiaire, $debutRdv, $finRdv, $codePrestataire, $codeSpecialite, $motifRdv); + } + + public function selectionner() + { + $idDemande = $this->requete->getParametreFormulaire("idDemande"); + + $_SESSION['idDemandeRdv'] = $idDemande; + } + + + public function modifier() + { + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + $debutRdv = $this->requete->getParametreDate("debutRdv"); + $finRdv = $this->requete->getParametreDate("finRdv"); + + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $codeSpecialite = $this->requete->getParametreFormulaire("codeSpecialite"); + + $motifRdv = $this->requete->getParametreFormulaire("motifRdv"); + + $this->rendezvous->modifierrdv($numeroBeneficiaire, $debutRdv, $finRdv, $codePrestataire, $codeSpecialite, $motifRdv); + } + + public function enregistrerdemandeconsultation() + { + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $codeSpecialite = $this->requete->getParametreFormulaire("codeSpecialite"); + $motifConsultation = $this->requete->getParametreFormulaire("motifConsultation"); + + $this->rendezvous->enregistrerdemandeconsultation($numeroBeneficiaire, $codePrestataire, $codeSpecialite, $motifConsultation); + + var_dump(array("idDemandeConsultation" => $_SESSION['idDemandeConsultation'])); + } + + public function listerdemandesconsultation() + { + $idAdherent = $_SESSION['idAdherent_C']; + $d1 = $this->requete->getParametreDate("d1"); + $d2 = $this->requete->getParametreDate("d2"); + + $demandes = $this->rendezvous->getDemandesConsultation($idAdherent, $d1, $d2); + + $this->genererVueAjax(array('demandes' => $demandes)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxdemanderemboursement.php b/Controleur_sav/ControleurAjaxdemanderemboursement.php new file mode 100755 index 0000000..7dd52dc --- /dev/null +++ b/Controleur_sav/ControleurAjaxdemanderemboursement.php @@ -0,0 +1,39 @@ +remb = new Remboursement(); + } + + public function index() + { + $idAdherent = $_SESSION['idAdherent_C']; + $d1 = $this->requete->getParametreDate("d1"); + $d2 = $this->requete->getParametreDate("d2"); + $codeEtatDemandeRemboursement = $this->requete->getParametreFormulaire("codeEtatDemandeRemboursement"); + + $demandes = $this->remb->getDemandesRemboursement($idAdherent, $d1, $d2, $codeEtatDemandeRemboursement); + + $this->genererVueAjax(array('demandes' => $demandes)); + } + + public function enregistrerdemande() + { + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + $commentaires = $this->requete->getParametreFormulaire("commentaires"); + + $this->remb->enregistrerdemande($numeroBeneficiaire, $commentaires); + } + + public function selectionnerremb() + { + $idDemande = $this->requete->getParametreFormulaire("idDemande"); + + $_SESSION['idDemandeRemboursement'] = $idDemande; + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxderogation.php b/Controleur_sav/ControleurAjaxderogation.php new file mode 100755 index 0000000..6865b97 --- /dev/null +++ b/Controleur_sav/ControleurAjaxderogation.php @@ -0,0 +1,26 @@ +derogation = new Derogation(); + } + + public function index() + { + $codePrestataire = $_SESSION['codePrestataire_C']; + $idBeneficiaire = $_SESSION['idBeneficiaire_C']; + $d1 = $this->requete->getParametreDate("d1"); + $d2 = $this->requete->getParametreDate("d2"); + + $_SESSION['d1_C'] = $d1; + $_SESSION['d2_C'] = $d2; + + $derogations = $this->derogation->getderogations($codePrestataire, $idBeneficiaire, $d1, $d2); + + $this->genererVueAjax(array('derogations' => $derogations)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxderogations.php b/Controleur_sav/ControleurAjaxderogations.php new file mode 100755 index 0000000..c0f0861 --- /dev/null +++ b/Controleur_sav/ControleurAjaxderogations.php @@ -0,0 +1,31 @@ +derogation = new Derogation(); + $this->prestataire = new Prestataire(); + } + + public function index() + { + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $codeDerogation = $this->requete->getParametreFormulaire("codeDerogation"); + $codeReponseDerogation = $this->requete->getParametreFormulaire("codeReponseDerogation"); + + $_SESSION['codePrestataire_C'] = $codePrestataire; + + $prestataire_courant = $this->prestataire->getPrestataireCode( $_SESSION['codePrestataire_C']); + + $debut = $this->requete->getParametreDate("debut"); + $fin = $this->requete->getParametreDate("fin"); + + $derogations = $this->derogation->getderogations($codePrestataire, $codeDerogation, $codeReponseDerogation, $debut, $fin); + + $this->genererVueAjax(array('derogations' => $derogations)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxdestinatairesms.php b/Controleur_sav/ControleurAjaxdestinatairesms.php new file mode 100755 index 0000000..e1cfbb1 --- /dev/null +++ b/Controleur_sav/ControleurAjaxdestinatairesms.php @@ -0,0 +1,73 @@ +messagerie = new Messagerie(); +} + + public function index() + { + $this->genererVueAjax(); + } + + public function consulter() + { + $date1 = $this->requete->getParametreDate("date1"); + $date2 = $this->requete->getParametreDate("date2"); + + $messages_envoyes = $this->messagerie->getenvoisms($date1, $date2); + + $messages_en_cours = $this->messagerie->getenvoismsencours($date1, $date2); + + $this->genererVueAjax(array('messages_envoyes' => $messages_envoyes, 'messages_en_cours' => $messages_en_cours)); + } + + public function consulterwhatsapp() + { + $date1 = $this->requete->getParametreDate("date1"); + $date2 = $this->requete->getParametreDate("date2"); + + $messages_envoyes = $this->messagerie->getenvoiwhatsapp($date1, $date2); + + $this->genererVueAjax(array('messages_envoyes' => $messages_envoyes)); + } + + public function consulterwhatsappencours() + { + $date1 = $this->requete->getParametreDate("date1"); + $date2 = $this->requete->getParametreDate("date2"); + + $messages_en_cours = $this->messagerie->getenvoiwhatsappencours($date1, $date2); + + $this->genererVueAjax(array('messages_en_cours' => $messages_en_cours)); + } + + + public function mettrewhatsappattenteassureur() + { + $textMessage = $this->requete->getParametreFormulaire("textMessage"); + + $this->messagerie->mettrewhatsappattenteassureur($textMessage); + } + + public function mettrewhatsappattenteprestataire() + { + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $textMessage = $this->requete->getParametreFormulaire("textMessage"); + + $this->messagerie->mettrewhatsappattenteprestataire($codePrestataire, $textMessage); + } + + public function mettrewhatsappattenteassureurprestataire() + { + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $textMessage = $this->requete->getParametreFormulaire("textMessage"); + + $this->messagerie->mettrewhatsappattenteassureurprestataire($codePrestataire, $textMessage); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxdetailordonnance.php b/Controleur_sav/ControleurAjaxdetailordonnance.php new file mode 100755 index 0000000..f94b7dd --- /dev/null +++ b/Controleur_sav/ControleurAjaxdetailordonnance.php @@ -0,0 +1,20 @@ +detailprescription = new Detailprescription(); + } + + public function index() + { + $numeroBonOrdonnance = $_SESSION['numeroBonOrdonnance_C']; + + $detailprescriptions = $this->detailprescription->getdetailprescription_pha($numeroBonOrdonnance); + + $this->genererVueAjax(array('detailprescriptions' => $detailprescriptions)); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxdetailpharmacie.php b/Controleur_sav/ControleurAjaxdetailpharmacie.php new file mode 100755 index 0000000..03f0a72 --- /dev/null +++ b/Controleur_sav/ControleurAjaxdetailpharmacie.php @@ -0,0 +1,71 @@ +prescription = new Prescription_temp(); + $this->detailprescription = new Detailprescription(); + } + + public function index() + { + $numeroPrescription = $_SESSION['numeroPrescription_C']; + + $prescription = $this->prescription->getprescription(); + + $detailprescriptions = $this->detailprescription->getdetailprescription($numeroPrescription); + + $detailnonlivres = $this->prescription->getdetailnonlivre(); + + // $detaillivres = $this->prescription->getdetaillivre(); + $detaillivres = $this->prescription->getdetaillivrecso(); + + $this->genererVueAjax(array('prescription' => $prescription, 'detailprescriptions' => $detailprescriptions, + 'detailnonlivres' => $detailnonlivres, 'detaillivres' => $detaillivres)); + } + + public function ajoutermedicament() + { + $idMedicament = $this->requete->getParametreFormulaire("idMedicament"); + + // $this->prescription->ajoutermedicament($idMedicament); + $this->prescription->ajoutermedicamentcso($idMedicament); + + $this->executerAction("index"); + } + + public function ajoutermedicamenttous() + { + // $this->prescription->ajoutermedicamenttous(); + $this->prescription->ajoutermedicamenttouscso(); + $this->executerAction("index"); + } + + public function retirermedicament() + { + $idMedicament = $this->requete->getParametreFormulaire("idMedicament"); + + // $this->prescription->retirermedicament($idMedicament); + $this->prescription->retirermedicamentcso($idMedicament); + + $this->executerAction("index"); + } + + public function retirermedicamenttous() + { + // $this->prescription->retirermedicamenttous(); + $this->prescription->retirermedicamenttouscso(); + $this->executerAction("index"); + } + + public function enregistrerpharmacie() + { + $this->prescription->enregistrerpharmacie(); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxdetailprescription.php b/Controleur_sav/ControleurAjaxdetailprescription.php new file mode 100755 index 0000000..eface68 --- /dev/null +++ b/Controleur_sav/ControleurAjaxdetailprescription.php @@ -0,0 +1,36 @@ +prescription = new Prescription(); + $this->detailprescription = new Detailprescription(); + } + + public function index() + { + $numeroPrescription = $_SESSION['numeroPrescription_C']; + + $prescription = $this->prescription->getprescription($numeroPrescription); + + $detailprescriptions = $this->detailprescription->getdetailprescription($numeroPrescription); + + $this->genererVueAjax(array('prescription' => $prescription, 'detailprescriptions' => $detailprescriptions)); + } + + public function consulterremplacement() + { + $numeroBonOrdonnance = $_SESSION['numeroBonOrdonnance_C']; + + $medicaments_remplaces = $this->detailprescription->getmedicamentsremplaces($numeroBonOrdonnance); + + $this->genererVueAjax(array('medicaments_remplaces' => $medicaments_remplaces)); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxdetailprescriptionexamen.php b/Controleur_sav/ControleurAjaxdetailprescriptionexamen.php new file mode 100755 index 0000000..1812ef2 --- /dev/null +++ b/Controleur_sav/ControleurAjaxdetailprescriptionexamen.php @@ -0,0 +1,57 @@ +examen = new Examen_temp(); + $this->detailexamen = new Detailexamem(); + } + + public function index() + { + $numeroExamen = $_SESSION['numeroExamen_C']; + + $examen = $this->examen->getexamentemp(); + + $detailexamens = $this->detailexamen->getdetailexamenfeuille(); + $nbExamens_0 = count($detailexamens); + + $this->genererVueAjax(array('examen' => $examen, 'detailexamens' => $detailexamens, 'nbExamens_0' => $nbExamens_0)); + } + + public function ajouterexamen() + { + $codeActe = $this->requete->getParametreFormulaire("codeActe"); + $ententePrealable = $this->requete->getParametreFormulaire("ententePrealable"); + + $this->detailexamen->ajouterexamen($codeActe, $ententePrealable); + + // $this->executerAction("index"); + } + + public function majquantite() + { + $idExamen = $this->requete->getParametre("idExamen"); + $quantite = $this->requete->getParametreFormulaire("quantite", "numerique"); + + $this->detailexamen->majquantite($idExamen, $quantite); + + $this->executerAction("index"); + } + + public function supprimer() + { + $idExamen = $this->requete->getParametre("idExamen"); + + $this->detailexamen->supprimerexamen($idExamen); + + $this->executerAction("index"); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxdetailseance.php b/Controleur_sav/ControleurAjaxdetailseance.php new file mode 100755 index 0000000..49960bd --- /dev/null +++ b/Controleur_sav/ControleurAjaxdetailseance.php @@ -0,0 +1,22 @@ +seance = new Seance_temp(); + } + + public function index() + { + $this->genererVueAjax(); + } + + public function enregistrerseance() + { + $this->seance->enregistrerseance(); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxdiagnosticsbeneficiaire.php b/Controleur_sav/ControleurAjaxdiagnosticsbeneficiaire.php new file mode 100755 index 0000000..4c17410 --- /dev/null +++ b/Controleur_sav/ControleurAjaxdiagnosticsbeneficiaire.php @@ -0,0 +1,22 @@ +feuillemaladie = new Feuillemaladie(); + } + + public function index() + { + $idBeneficiaire = $_SESSION['idBeneficiaire_C']; + + $diagnostics = $this->feuillemaladie->getDiagnosticsBeneficiaire($idBeneficiaire); + + $this->genererVueAjax(array('diagnostics' => $diagnostics)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxdossiercons.php b/Controleur_sav/ControleurAjaxdossiercons.php new file mode 100755 index 0000000..1d08d75 --- /dev/null +++ b/Controleur_sav/ControleurAjaxdossiercons.php @@ -0,0 +1,28 @@ +feuillemaladie = new Feuillemaladie(); + } + + public function index() + { + $numeroBonConsultation = $this->requete->getParametreFormulaire("numeroBonConsultation"); + + $factures = $this->feuillemaladie->getfacturesfeuilleconsultation($numeroBonConsultation); + + $factures_total = null; + + if(count($factures)>"0") + { + $factures_total = $factures['0']; + } + + $this->genererVueAjax(array('factures' => $factures, 'factures_total' => $factures_total)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxdossiers.php b/Controleur_sav/ControleurAjaxdossiers.php new file mode 100755 index 0000000..159434c --- /dev/null +++ b/Controleur_sav/ControleurAjaxdossiers.php @@ -0,0 +1,22 @@ +feuillemaladie = new Feuillemaladie(); + } + + public function index() + { + $idBeneficiaire = $_SESSION['idBeneficiaire_C']; + $d1 = $this->requete->getParametreDate("d1"); + $d2 = $this->requete->getParametreDate("d2"); + + $feuillemaladies = $this->feuillemaladie->getfeuillesmaladie($idBeneficiaire, $d1, $d2) ; + + $this->genererVueAjax(array('feuillemaladies' => $feuillemaladies)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxdossierscontestes.php b/Controleur_sav/ControleurAjaxdossierscontestes.php new file mode 100755 index 0000000..7cffd5a --- /dev/null +++ b/Controleur_sav/ControleurAjaxdossierscontestes.php @@ -0,0 +1,32 @@ +feuillemaladie = new Feuillemaladie(); + } + + public function index() + { + $idAdherent = $_SESSION['idAdherent_C']; + $d1 = $this->requete->getParametreDate("d1"); + $d2 = $this->requete->getParametreDate("d2"); + + $feuillemaladies = $this->feuillemaladie->getfeuillesmaladiecontestee($idAdherent, $d1, $d2) ; + + //var_dump($feuillemaladies); die(); + + $this->genererVueAjax(array('feuillemaladies' => $feuillemaladies)); + } + + public function reactiver() + { + $numeroFeuilleMaladie = $this->requete->getParametreFormulaire("numeroFeuilleMaladie"); + $motif = $this->requete->getParametreFormulaire("motif"); + + $this->feuillemaladie->reactiverdossier($numeroFeuilleMaladie, $motif); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxdossiersfamille.php b/Controleur_sav/ControleurAjaxdossiersfamille.php new file mode 100755 index 0000000..9cee3f6 --- /dev/null +++ b/Controleur_sav/ControleurAjaxdossiersfamille.php @@ -0,0 +1,23 @@ +feuillemaladie = new Feuillemaladie(); + } + + public function index() + { + $idAdherent = $_SESSION['idAdherent_C']; + + $d1 = $this->requete->getParametreDate("d1"); + $d2 = $this->requete->getParametreDate("d2"); + + $feuillemaladies = $this->feuillemaladie->getfeuillesmaladiefamille($idAdherent, $d1, $d2) ; + + $this->genererVueAjax(array('feuillemaladies' => $feuillemaladies)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxententeprealables.php b/Controleur_sav/ControleurAjaxententeprealables.php new file mode 100755 index 0000000..72577ae --- /dev/null +++ b/Controleur_sav/ControleurAjaxententeprealables.php @@ -0,0 +1,30 @@ +ententeprealable = new Ententeprealable(); + $this->prestataire = new Prestataire(); + } + + public function index() + { + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $codeReponseEntentePrealable = $this->requete->getParametreFormulaire("codeReponseEntentePrealable"); + + $_SESSION['codePrestataire_C'] = $codePrestataire; + + $prestataire_courant = $this->prestataire->getPrestataireCode( $_SESSION['codePrestataire_C']); + + $debut = $this->requete->getParametreDate("debut"); + $fin = $this->requete->getParametreDate("fin"); + + $ententeprealables = $this->ententeprealable->getEntenteprealables($codePrestataire, $codeReponseEntentePrealable, $debut, $fin); + + $this->genererVueAjax(array('ententeprealables' => $ententeprealables)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxententeprealablesmont.php b/Controleur_sav/ControleurAjaxententeprealablesmont.php new file mode 100755 index 0000000..2f07941 --- /dev/null +++ b/Controleur_sav/ControleurAjaxententeprealablesmont.php @@ -0,0 +1,22 @@ +ententeprealable = new Ententeprealable(); + } + + public function index() + { + $codeReponseEntentePrealable = $this->requete->getParametreFormulaire("codeReponseEntentePrealable"); + + $debut = $this->requete->getParametreDate("debut"); + $fin = $this->requete->getParametreDate("fin"); + + $ententeprealables = $this->ententeprealable->getEntenteprealablesmont($codeReponseEntentePrealable, $debut, $fin); + + $this->genererVueAjax(array('ententeprealables' => $ententeprealables)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxententeprealablesopt.php b/Controleur_sav/ControleurAjaxententeprealablesopt.php new file mode 100755 index 0000000..e04f023 --- /dev/null +++ b/Controleur_sav/ControleurAjaxententeprealablesopt.php @@ -0,0 +1,22 @@ +ententeprealable = new Ententeprealable(); + } + + public function index() + { + $codeReponseEntentePrealable = $this->requete->getParametreFormulaire("codeReponseEntentePrealable"); + + $debut = $this->requete->getParametreDate("debut"); + $fin = $this->requete->getParametreDate("fin"); + + $ententeprealables = $this->ententeprealable->getEntenteprealablesopt($codeReponseEntentePrealable, $debut, $fin); + + $this->genererVueAjax(array('ententeprealables' => $ententeprealables)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxententeprealablespha.php b/Controleur_sav/ControleurAjaxententeprealablespha.php new file mode 100755 index 0000000..7b20983 --- /dev/null +++ b/Controleur_sav/ControleurAjaxententeprealablespha.php @@ -0,0 +1,22 @@ +ententeprealable = new Ententeprealable(); + } + + public function index() + { + $codeReponseEntentePrealable = $this->requete->getParametreFormulaire("codeReponseEntentePrealable"); + + $debut = $this->requete->getParametreDate("debut"); + $fin = $this->requete->getParametreDate("fin"); + + $ententeprealables = $this->ententeprealable->getEntenteprealablespha($codeReponseEntentePrealable, $debut, $fin); + + $this->genererVueAjax(array('ententeprealables' => $ententeprealables)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxenvoimaildivers.php b/Controleur_sav/ControleurAjaxenvoimaildivers.php new file mode 100755 index 0000000..31c9310 --- /dev/null +++ b/Controleur_sav/ControleurAjaxenvoimaildivers.php @@ -0,0 +1,116 @@ +finger = new Finger(); + } + + public function index() + { + $this->genererVueAjax(); + } + + public function verifiertentativeidentitification() + { + $user_id = $this->requete->getParametreFormulaire("user_id"); + + $nbTentative = $this->finger->verifier_tentative_identification($user_id); + + $_SESSION['nbTentative'] = $nbTentative; + $this->executerAction("index"); + } + + public function mailfraudeidentite() + { + require_once 'Framework/Ebenegmail.php'; + + $emailDestination = $_SESSION['emailGestionBon_C']; + + /* Pour les tests */ + $email_standard = $_SESSION['email_standard']; + if($email_standard>" ") + { + $emailDestination .= ";".$email_standard ; + } + /* Fin mails tests */ + + /* Pour empêcher les envois de mails */ + $emailDestination = "lkane@ebene.info"; + /* Fin Pour empêcher les envois de mails */ + + $obejt = "ALERTE PLUS DE 3 TENTATIVES D'IDENTIFICATION"; + + $body = "- Prestataire : ".$_SESSION['prestataire_C']." + +- Patient : ".$_SESSION['beneficiaire_C']." (".$_SESSION['numeroBeneficiaire_C'].") + +- Date : ".heureCourante()." + +Merci et bonne réception."; + + $body = convertirc($body); + + $addr = explode(';', $emailDestination); + foreach ($addr as $ad) + { + $mail->AddAddress(trim($ad) ); + } + + $mail->Subject = $obejt; + + $mail->Body=$body; + + $mail->send(); + } + + public function mailententeprealable() + { + $numeroBon = $this->requete->getParametreFormulaire("numeroBon"); + + require_once 'Framework/Ebenegmail.php'; + + $emailDestination = $_SESSION['emailMedecinConseil_C']; + + /* Pour les tests */ + $email_standard = $_SESSION['email_standard']; + if($email_standard>" ") + { + $emailDestination .= ";".$email_standard ; + } + /* Fin mails tests */ + + /* Pour empêcher les envois de mails */ + $emailDestination = "lkane@ebene.info"; + /* Fin Pour empêcher les envois de mails */ + + $obejt = "ALERTE HOSPITALISATION"; + + $body = "- Prestataire : ".$_SESSION['prestataire_C']." + +- Patient : ".$_SESSION['beneficiaire_C']." (".$_SESSION['numeroBeneficiaire_C'].") + +- Date : ".heureCourante()." + +- N° Bon Hospitalisation : ".$numeroBon." + +Merci et bonne réception."; + + $body = convertirc($body); + + $addr = explode(';', $emailDestination); + foreach ($addr as $ad) + { + $mail->AddAddress(trim($ad) ); + } + + $mail->Subject = $obejt; + + $mail->Body=$body; + + $mail->send(); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxenvoism_kanzea_v2.php b/Controleur_sav/ControleurAjaxenvoism_kanzea_v2.php new file mode 100755 index 0000000..f6eab13 --- /dev/null +++ b/Controleur_sav/ControleurAjaxenvoism_kanzea_v2.php @@ -0,0 +1,222 @@ +envoimail = new Envoimail(); + } + + public function index() + { + } + + + // fonction_envoyersms_kaneza_avec_curl => En vigueur 02/06/2018 + + public function envoyersms() + { + // $typeSms = $this->requete->getParametreFormulaire("typeSms"); + + $destinataires = $this->requete->getParametreFormulaire("destinataires"); + $message = $this->requete->getParametreFormulaire("message"); + + $url = "https://gateway.esicia.com/sendsms/?"; + + /* pour evoyer en boucle sur la liste des destinataires + foreach ($addr as $ad) + { + if(tester_une_adresse_email($ad)) + { + $mail_C->AddAddress(trim($ad) ); + } + else + { + // echo "Veuillez revoir cette adresse PHP : " . $ad; + // exit(); + } + } + */ + + // Pour tester + $destinataires = "250780440758"; + $message = "TESTSMSKANEZA"; + // Fin tester + + $postFields = array( + 'ohereza' =>'MEDICARE', + 'kuri' =>$destinataires, + 'ubutumwa' =>$message, + 'client' =>'radiant', + 'password' =>'umugozi', + 'msgid' =>'kane' + ); + + $post = http_build_query($postFields); + + $url .= $post; + + echo $url; + exit(); + + $result= file_get_contents($url); + print_r($result); + exit(); + } + +/* fonction_envoyersms_kaneza_avec_curl + public function envoyersms() + { + + $destinataires = $this->requete->getParametreFormulaire("destinataires"); + $message = $this->requete->getParametreFormulaire("message"); + // $typeSms = $this->requete->getParametreFormulaire("typeSms"); + + $url = "https://gateway.esicia.com/sendsms/"; + + + + // pour evoyer en boucle sur la liste des destinataires + foreach ($addr as $ad) + { + if(tester_une_adresse_email($ad)) + { + $mail_C->AddAddress(trim($ad) ); + } + else + { + // echo "Veuillez revoir cette adresse PHP : " . $ad; + // exit(); + } + } + // FIN EACH + + $destinataires = "250780440758"; + $message = "TESTSMSKANEZA"; + + // utilisation de la méthode POST de cURL + + $postFields = array( + 'ohereza' =>'MEDICARE', + 'kuri' =>$destinataires, + 'ubutumwa' =>$message, + 'client' =>'radiant', + 'password' =>'umugozi', + 'msgid' =>'kane' + ); + + $post = http_build_query($postFields); + + $url .= "?".$post; + + // echo $url; + // exit(); + + $result= file_get_contents($url); + print_r($result); + exit(); + + $ch=curl_init(); + + if(empty($ch)) + { + die("ERREUR curl_init : Il semble que cURL ne soit pas disponible."); + } + + $options=array + ( + CURLOPT_URL => $url, // Url cible (l'url de la page que vous voulez télécharger) + CURLOPT_RETURNTRANSFER => TRUE, // Retourner le contenu téléchargé dans une chaine (au lieu de l'afficher directement) + CURLOPT_HEADER => FALSE, // Ne pas inclure l'entête de réponse du serveur dans la chaine retournée + CURLOPT_FAILONERROR => TRUE, // Gestion des codes d'erreur HTTP supérieurs ou égaux à 400 + CURLOPT_POST => TRUE, // Effectuer une requête de TYPE POST + CURLOPT_TIMEOUT => 10, + CURLOPT_POSTFIELDS => $postFields // Le tableau associatif contenant les VARIABLES envoyées par POST au serveur + // CURLOPT_POSTFIELDS => $post // Le tableau associatif contenant les VARIABLES envoyées par POST au serveur + ); + + // var_dump($options); + // exit(); + + curl_setopt_array($ch, $options); + + if( ! $result = curl_exec($ch)) + { + trigger_error(curl_error($ch)); + } + + // $info = curl_getinfo($ch); + + curl_close($ch); + + // var_dump($result); + // var_dump($info); + // print_r($info); + // echo $result; + // var_dump($result); + // print_r($result); + // return $result; + } +*/ + +/* fonction_envoyersms_hooza_victor_nkindi + + public function envoyersms() + { + $destinataires = $this->requete->getParametreFormulaire("destinataires"); + $message = $this->requete->getParametreFormulaire("message"); + // $typeSms = $this->requete->getParametreFormulaire("typeSms"); + + + $this->envoimail->logenvoisms($destinataires, $message); + + + // RADIANT + $get = array('username'=>'HoAj-radiant', + 'password'=>'radiant', + 'type'=>'0', + 'dlr'=>'1', + 'destination'=>$destinataires, + 'source'=>'MEDICARE', + 'message'=>$message + ); + + // EBENE + $get = array('username'=>'HoAj-ebene', + 'password'=>'ebene201', + 'type'=>'0', + 'dlr'=>'1', + 'destination'=>$destinataires, + 'source'=>'INTERSANTE', + 'message'=>$message + ); + + $url = "http://rslr.connectbind.com/bulksms/bulksms"; + + + $defaults = array( + CURLOPT_URL => $url. (strpos($url, '?') === FALSE ? '?' : ''). http_build_query($get), + // CURLOPT_URL => $url, + CURLOPT_HEADER => 0, + CURLOPT_RETURNTRANSFER => TRUE, + CURLOPT_TIMEOUT => 10 + ); + + + $ch = curl_init(); + + curl_setopt_array($ch, ($defaults)); + if( ! $result = curl_exec($ch)) + { + trigger_error(curl_error($ch)); + } + + curl_close($ch); + + return $result; + } +*/ +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxenvoisms.php b/Controleur_sav/ControleurAjaxenvoisms.php new file mode 100755 index 0000000..acc87cf --- /dev/null +++ b/Controleur_sav/ControleurAjaxenvoisms.php @@ -0,0 +1,78 @@ +envoimail = new Envoimail(); + } + + public function index() + { + } + + // fonction_envoyersms_kaneza_avec_curl => En vigueur 02/06/2018 + + public function envoyersms() + { + // $typeSms = $this->requete->getParametreFormulaire("typeSms"); + + $destinataires = $this->requete->getParametreFormulaire("destinataires"); + $message = $this->requete->getParametreFormulaire("message"); + + // logenvoimal => dans la base de données + $this->envoimail->logenvoisms($destinataires, $message); + + $url = "https://gateway.esicia.com/sendsms/?"; + + $postFields = array( + 'ohereza' =>'MEDICARE', + // 'kuri' =>"250780440758", + 'kuri' =>$destinataires, + 'ubutumwa' =>$message, + 'client' =>'radiant', + 'password' =>'umugozi', + 'msgid' =>'kanesin' + ); + + $post = http_build_query($postFields); + + $url .= $post; + + $result = file_get_contents($url); + + // pour evoyer en boucle sur la liste des destinataires + + /* + $postFields = array( + 'ohereza' =>'MEDICARE', + // 'kuri' =>"250780440758", + 'kuri' =>$destinataires, + 'ubutumwa' =>$message, + 'client' =>'radiant', + 'password' =>'umugozi', + 'msgid' =>'kanesin' + ); + + $dest_s = explode(',', $destinataires); + + foreach ($dest_s as $dest) + { + $postFields['kuri'] = $dest; + + $post = http_build_query($postFields); + + $url .= $post; + + $result_partiel = file_get_contents($url); + } + */ + + /* + print_r($result + */ + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxenvoisms_hooza.php b/Controleur_sav/ControleurAjaxenvoisms_hooza.php new file mode 100755 index 0000000..c09e5d2 --- /dev/null +++ b/Controleur_sav/ControleurAjaxenvoisms_hooza.php @@ -0,0 +1,49 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPuSQWDL8vNWQ5QaLzaYH68lNw4HTTcZdGOIuDp+FT0Yl15HZPWZDycygUtPUe2gBRf8CAsxc +YjD6jP4Ds1OHY9xS3ZsyIBh1O763vax8L1Y+USB/xim7cvRZ7wE4zFOMf7CJN6alEW81ze4MCi9n +Uf3ed7wi6U4dDS+OqqN8yH9XL3iB/OFWsGEOcxXR9K3OsrIZiZ5OcTDjEBWIhUcvYedx0PobUaWi +24EDLj+vRGjdfmPIvn+mTAF+ekALnM64niYk0mBzrIvv01redt1+81KxoIXb7qeRDP9YcHqB/I2W +HxGKO3SzEs/jMWMQBBeafEjBAFJXhEufC0j974AIrp9YsJC0cedRQWEaGkTZcup562HvQZvgbi53 +LARvUg6OnqwszcRaWVaUcaxI2WCQu0zTiejBklNlzzGmExSZVTL8wkT7UvIzNZjcHAZAOfufPvPn +ZPeiBGdQvXZMFY1f+htWunWZH8zfR2saNFJDmH8DDY1inK3GHH36qIcAuML0W/UHafxqVo5bCld1 +GKSoRe400HOl8v4SQjRN+MF7O73XEsgnLks81esVdfAUVHyOj5r6rI+tt+FjC0muqcVjfdP83YaK +73cm33SpWGDjdNeV7/F7cxJrEq+aOPq0aVZW3ClYaDQeA6FBxODhf1S8dZ1Dce0ndGO2z5H872a8 +z6mfxXYT7cv6Cb7ArNRRb3zIqlfcl+wOzwG9BDx/8ZWVdMX4aYe8biTgVkHd1AMlSo32tEXKKegE +SO7QyMxCIOcBG3Q/3l4PiMSNXRcjvWGd7N2xSlU4YY2D6F/91I2hlxHBwYPOkThddcpH4yd93UTg +MO4ZWz3S8hZ5f2h+AT8HbvmP+IBLhCZbynQBSmQDcGLaidjVqJKclnbVhyoKG0ZIpRlYhuDtXMo3 +0VvPRzV+ylGdEn8Sm7Ma1fCX8pcmKwdV9ocu+dfeaMWwCMXvrLJUwr5Fk+px+0gL6Cg7a4BZznos +jWGKKm/GwfhmGifZdsJbYT4XUnF/pBZv45u1NlzuYXOwksjTTdVITcE6bsOisSdAyDfJ8tL0cAcY +6gDqsbX3QilZ2kZDChZkD/CrR/99f1WxE6YYIvPbbmt4bjL3C0t/qas/bSzHE+S/yeSl0IFFfGDB +GD78V6d+r9RLx7eLSAnAkSkJRcg71/LgYBBVZIB9emC6CPmCg7E1PJz5EtdCgzB44bP8kYbfSzq1 +O2geyR1peXkmBqz99wUobBo8PxcVeWg6lh5TU/MaL/uOrS6zgBM4lLJgSp5zu79cTNeQEfXGeKyj ++UOVjdVtvgx2nWJ1qE5rp8kHEeSN/9KutvFNqjxcPkgg8JCw9BbQTkl3SgGfEyq8KyiKyZ/hpgx7 +XKCRpjJcKwx7peNrze3XkQ+Jp1cB0UhrWtFgvefv4E3in8/WSz7bSRAt64SD59tpBZXoCdIi9YIE +biD7+0698FEJV2/QZVYcFKw0Xrz+4fs8j5+YWZ0l3vPW3zAUgIkH6D00lDe/alyongukcvQyCdnL +GkdVK8pFEukhsG1urdYLDl6jTO4u7dobSE9OiU2cB+oPt3WkYL5Rl64TahId8oDWU80goSkAYhmK +UYlBjM/lJV2gAH7588ACp5gjnIZIiyE3UPF11pDq2bRpLam/aVJXuJSoPja8HBo5d8o965aLGhPw +0HB5WIS8KITX5lfDfcDMka84JWGmvgvX9gxKTLohQVxwIn/oohrI/++rrfaPeWSd3GVty7QKb5hI +9d4mtMfoWMeSs3D8rFTaUuF1v4IyIwUBJ+MfKtXt/2GbquBsRoUy/wpRl66RlfQxPBvHn29888tm +AvZLbmsMEB1Ef8fQT3DcqUZtM7h9LVa8b7NfC+dB18GYMiRlCCczLaiLwp0UrvyWSUp8Pcwm4NwB +VDQIFoc4yuiWWTYC1k48q9qbPTpPu36DzRmCfWqCZhQYmx6GgibqS0iEeho1tKTDrp38uZ9q0891 +h2MHYGCfvcn+ivAe/bCUkYh2ikqUNy0LM2BBKOo5PMKrdpjoY2YkJENWHKMyQTBjJJPDCf34IXp/ ++ZwCoALMkdHabaEZ/9Ar93QK/prnYhxj5yqnl/kU1HzNgdF2rejHxmUOOsUpcTg43JC24XCUFNab +d2uLnI1XabwbywDAnFy6AUTODL7QXhCvQG2RLLHz6kfgqhole9C/rwgbRaXAabL3oNXrKSnJcMTT +aBI1q1aA+HJUsbHM4jocEupE6xo9d9VE1oVKcJOLk/xtwQ99JzIkoxJcxRNrzeZElNsCmjXM8Sl2 +rxbjxqpcZ2gBdYyNlrlYaRAiW/pncYbYDTefE30b+ZJ/XKnQ3KEFnWu8eqrjN4Dfxtq4ux3lTohh +3/QuNI0w/9SxF+HyMbwvmNLb56JedK188RoZUIWpSAkaNGuK8BdukD6qQwLE57VKLcmiSsOXD56d +RpYdM9vSnWoRt7nacMygCSaPb7n7OwCeV/Ew6EQrVW7X50bVbeGIOIDwgqPid5lAFiNNqAKMIDte +gNiJRXmKq+UABdMa/sQPalic++hde9Nwd2Sce6QJwI+/6klU2vu3REaYGNbuRS9TkmQDtqrhLbc4 +u+XBYDVp5iADmzU8Iqc15oqTj5RqNx8gYYU1DnodixmAlBS/BjTeolcQOmr/+UVGHsZdddWNy7Ap +RRCvMZQLtxd5NQPMLGtImpeTPJf3Od3pLgDZftZcmUQ2aZNsIKfdLJ8/sICQQ2A80MY6CNCQLYpC +I35dZgDx/thqEd85GXFRe0h2iKgnww3kCl+8amtyYj+JbhA40h7DpkKWtx6tcQnufnfVIqu4JHnS +wYv63km3EdOxnOznLpPH8p8goj1TzkUiyicCJeUX1CZyCGRIitGrQAjOhryVRHYvSuFx+dqHsT8z +7lTA+p7KrME1B3+Z1t96H2HDFN/fNkN2IFD+6ViEBpkUvpUSdk+BUJ6A8z/xHlhwi5WlW/bxldhE +lwk+srGaVuFRylAxbgBnEzdPmDYAq0xyKw6MiIk9JcD3CWTdE0VuOx7/1L+HIMPtJ5PFOCxI+ye/ +5I5OQlinyAsAUykEcYL5eDrtfvSMLJNUG3qpC8FtnZDbQ34OQyf5de3ScCvezlcmePo2jOe9VyMr +WLJ/aNG5vgX4y2m3ifqR+v9lFvfI6EeR5DvQWw4PII/N9p8dC8vlq0ZKNQ7ruXqQhtDLPNT5HGtb +Ua7B5aerbtfx86nyia0eKn9VknIGGey443LEgwa4X+2VHVCYYVRxKZ3tuNoiB2e3bGcd6pWu2rAF +7f/qKzRkERPxWjTKrHVweyWsuCp2aaWU/9UAoedsPaqwAfkPEmEkYPdSlI5yKM+zcK3tBl7amT0z +1h0CTeNevoOPG0oILYVDTAmz02Zg5FaDG3ArRwfCiNw4RWEnX+9XeOyjIB+yk4gbUapy0gTW1GBL +irXGCt8TdhMNIWvkEvMiU86ucENjk2kk1ugk40G6I9WIkWcSNVy9 \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxenvoisms_old.php b/Controleur_sav/ControleurAjaxenvoisms_old.php new file mode 100755 index 0000000..c09e5d2 --- /dev/null +++ b/Controleur_sav/ControleurAjaxenvoisms_old.php @@ -0,0 +1,49 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPuSQWDL8vNWQ5QaLzaYH68lNw4HTTcZdGOIuDp+FT0Yl15HZPWZDycygUtPUe2gBRf8CAsxc +YjD6jP4Ds1OHY9xS3ZsyIBh1O763vax8L1Y+USB/xim7cvRZ7wE4zFOMf7CJN6alEW81ze4MCi9n +Uf3ed7wi6U4dDS+OqqN8yH9XL3iB/OFWsGEOcxXR9K3OsrIZiZ5OcTDjEBWIhUcvYedx0PobUaWi +24EDLj+vRGjdfmPIvn+mTAF+ekALnM64niYk0mBzrIvv01redt1+81KxoIXb7qeRDP9YcHqB/I2W +HxGKO3SzEs/jMWMQBBeafEjBAFJXhEufC0j974AIrp9YsJC0cedRQWEaGkTZcup562HvQZvgbi53 +LARvUg6OnqwszcRaWVaUcaxI2WCQu0zTiejBklNlzzGmExSZVTL8wkT7UvIzNZjcHAZAOfufPvPn +ZPeiBGdQvXZMFY1f+htWunWZH8zfR2saNFJDmH8DDY1inK3GHH36qIcAuML0W/UHafxqVo5bCld1 +GKSoRe400HOl8v4SQjRN+MF7O73XEsgnLks81esVdfAUVHyOj5r6rI+tt+FjC0muqcVjfdP83YaK +73cm33SpWGDjdNeV7/F7cxJrEq+aOPq0aVZW3ClYaDQeA6FBxODhf1S8dZ1Dce0ndGO2z5H872a8 +z6mfxXYT7cv6Cb7ArNRRb3zIqlfcl+wOzwG9BDx/8ZWVdMX4aYe8biTgVkHd1AMlSo32tEXKKegE +SO7QyMxCIOcBG3Q/3l4PiMSNXRcjvWGd7N2xSlU4YY2D6F/91I2hlxHBwYPOkThddcpH4yd93UTg +MO4ZWz3S8hZ5f2h+AT8HbvmP+IBLhCZbynQBSmQDcGLaidjVqJKclnbVhyoKG0ZIpRlYhuDtXMo3 +0VvPRzV+ylGdEn8Sm7Ma1fCX8pcmKwdV9ocu+dfeaMWwCMXvrLJUwr5Fk+px+0gL6Cg7a4BZznos +jWGKKm/GwfhmGifZdsJbYT4XUnF/pBZv45u1NlzuYXOwksjTTdVITcE6bsOisSdAyDfJ8tL0cAcY +6gDqsbX3QilZ2kZDChZkD/CrR/99f1WxE6YYIvPbbmt4bjL3C0t/qas/bSzHE+S/yeSl0IFFfGDB +GD78V6d+r9RLx7eLSAnAkSkJRcg71/LgYBBVZIB9emC6CPmCg7E1PJz5EtdCgzB44bP8kYbfSzq1 +O2geyR1peXkmBqz99wUobBo8PxcVeWg6lh5TU/MaL/uOrS6zgBM4lLJgSp5zu79cTNeQEfXGeKyj ++UOVjdVtvgx2nWJ1qE5rp8kHEeSN/9KutvFNqjxcPkgg8JCw9BbQTkl3SgGfEyq8KyiKyZ/hpgx7 +XKCRpjJcKwx7peNrze3XkQ+Jp1cB0UhrWtFgvefv4E3in8/WSz7bSRAt64SD59tpBZXoCdIi9YIE +biD7+0698FEJV2/QZVYcFKw0Xrz+4fs8j5+YWZ0l3vPW3zAUgIkH6D00lDe/alyongukcvQyCdnL +GkdVK8pFEukhsG1urdYLDl6jTO4u7dobSE9OiU2cB+oPt3WkYL5Rl64TahId8oDWU80goSkAYhmK +UYlBjM/lJV2gAH7588ACp5gjnIZIiyE3UPF11pDq2bRpLam/aVJXuJSoPja8HBo5d8o965aLGhPw +0HB5WIS8KITX5lfDfcDMka84JWGmvgvX9gxKTLohQVxwIn/oohrI/++rrfaPeWSd3GVty7QKb5hI +9d4mtMfoWMeSs3D8rFTaUuF1v4IyIwUBJ+MfKtXt/2GbquBsRoUy/wpRl66RlfQxPBvHn29888tm +AvZLbmsMEB1Ef8fQT3DcqUZtM7h9LVa8b7NfC+dB18GYMiRlCCczLaiLwp0UrvyWSUp8Pcwm4NwB +VDQIFoc4yuiWWTYC1k48q9qbPTpPu36DzRmCfWqCZhQYmx6GgibqS0iEeho1tKTDrp38uZ9q0891 +h2MHYGCfvcn+ivAe/bCUkYh2ikqUNy0LM2BBKOo5PMKrdpjoY2YkJENWHKMyQTBjJJPDCf34IXp/ ++ZwCoALMkdHabaEZ/9Ar93QK/prnYhxj5yqnl/kU1HzNgdF2rejHxmUOOsUpcTg43JC24XCUFNab +d2uLnI1XabwbywDAnFy6AUTODL7QXhCvQG2RLLHz6kfgqhole9C/rwgbRaXAabL3oNXrKSnJcMTT +aBI1q1aA+HJUsbHM4jocEupE6xo9d9VE1oVKcJOLk/xtwQ99JzIkoxJcxRNrzeZElNsCmjXM8Sl2 +rxbjxqpcZ2gBdYyNlrlYaRAiW/pncYbYDTefE30b+ZJ/XKnQ3KEFnWu8eqrjN4Dfxtq4ux3lTohh +3/QuNI0w/9SxF+HyMbwvmNLb56JedK188RoZUIWpSAkaNGuK8BdukD6qQwLE57VKLcmiSsOXD56d +RpYdM9vSnWoRt7nacMygCSaPb7n7OwCeV/Ew6EQrVW7X50bVbeGIOIDwgqPid5lAFiNNqAKMIDte +gNiJRXmKq+UABdMa/sQPalic++hde9Nwd2Sce6QJwI+/6klU2vu3REaYGNbuRS9TkmQDtqrhLbc4 +u+XBYDVp5iADmzU8Iqc15oqTj5RqNx8gYYU1DnodixmAlBS/BjTeolcQOmr/+UVGHsZdddWNy7Ap +RRCvMZQLtxd5NQPMLGtImpeTPJf3Od3pLgDZftZcmUQ2aZNsIKfdLJ8/sICQQ2A80MY6CNCQLYpC +I35dZgDx/thqEd85GXFRe0h2iKgnww3kCl+8amtyYj+JbhA40h7DpkKWtx6tcQnufnfVIqu4JHnS +wYv63km3EdOxnOznLpPH8p8goj1TzkUiyicCJeUX1CZyCGRIitGrQAjOhryVRHYvSuFx+dqHsT8z +7lTA+p7KrME1B3+Z1t96H2HDFN/fNkN2IFD+6ViEBpkUvpUSdk+BUJ6A8z/xHlhwi5WlW/bxldhE +lwk+srGaVuFRylAxbgBnEzdPmDYAq0xyKw6MiIk9JcD3CWTdE0VuOx7/1L+HIMPtJ5PFOCxI+ye/ +5I5OQlinyAsAUykEcYL5eDrtfvSMLJNUG3qpC8FtnZDbQ34OQyf5de3ScCvezlcmePo2jOe9VyMr +WLJ/aNG5vgX4y2m3ifqR+v9lFvfI6EeR5DvQWw4PII/N9p8dC8vlq0ZKNQ7ruXqQhtDLPNT5HGtb +Ua7B5aerbtfx86nyia0eKn9VknIGGey443LEgwa4X+2VHVCYYVRxKZ3tuNoiB2e3bGcd6pWu2rAF +7f/qKzRkERPxWjTKrHVweyWsuCp2aaWU/9UAoedsPaqwAfkPEmEkYPdSlI5yKM+zcK3tBl7amT0z +1h0CTeNevoOPG0oILYVDTAmz02Zg5FaDG3ArRwfCiNw4RWEnX+9XeOyjIB+yk4gbUapy0gTW1GBL +irXGCt8TdhMNIWvkEvMiU86ucENjk2kk1ugk40G6I9WIkWcSNVy9 \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxenvoismshooza.php b/Controleur_sav/ControleurAjaxenvoismshooza.php new file mode 100755 index 0000000..2847650 --- /dev/null +++ b/Controleur_sav/ControleurAjaxenvoismshooza.php @@ -0,0 +1,225 @@ +envoimail = new Envoimail(); + } + + public function index() + { + } + + + // fonction_envoyersms_kaneza_avec_curl => En vigueur 02/06/2018 + + public function envoyersms() + { + // echo 'Curl: ', function_exists('curl_init') ? 'Enabled' : 'Disabled'; + // exit(); + + // $typeSms = $this->requete->getParametreFormulaire("typeSms"); + + $destinataires = $this->requete->getParametreFormulaire("destinataires"); + $message = $this->requete->getParametreFormulaire("message"); + + $url = "https://gateway.esicia.com/sendsms/?"; + + /* pour evoyer en boucle sur la liste des destinataires + foreach ($addr as $ad) + { + if(tester_une_adresse_email($ad)) + { + $mail_C->AddAddress(trim($ad) ); + } + else + { + // echo "Veuillez revoir cette adresse PHP : " . $ad; + // exit(); + } + } + */ + + // Pour tester + $destinataires = "250780440758"; + $message = "TESTSMSKANEZA"; + // Fin tester + + $postFields = array( + 'ohereza' =>'MEDICARE', + 'kuri' =>$destinataires, + 'ubutumwa' =>$message, + 'client' =>'radiant', + 'password' =>'umugozi', + 'msgid' =>'kane' + ); + + $post = http_build_query($postFields); + + $url .= $post; + + echo $url; + exit(); + + $result= file_get_contents($url); + print_r($result); + exit(); + } + +/* fonction_envoyersms_kaneza_avec_curl + public function envoyersms() + { + + $destinataires = $this->requete->getParametreFormulaire("destinataires"); + $message = $this->requete->getParametreFormulaire("message"); + // $typeSms = $this->requete->getParametreFormulaire("typeSms"); + + $url = "https://gateway.esicia.com/sendsms/"; + + + + // pour evoyer en boucle sur la liste des destinataires + foreach ($addr as $ad) + { + if(tester_une_adresse_email($ad)) + { + $mail_C->AddAddress(trim($ad) ); + } + else + { + // echo "Veuillez revoir cette adresse PHP : " . $ad; + // exit(); + } + } + // FIN EACH + + $destinataires = "250780440758"; + $message = "TESTSMSKANEZA"; + + // utilisation de la méthode POST de cURL + + $postFields = array( + 'ohereza' =>'MEDICARE', + 'kuri' =>$destinataires, + 'ubutumwa' =>$message, + 'client' =>'radiant', + 'password' =>'umugozi', + 'msgid' =>'kane' + ); + + $post = http_build_query($postFields); + + $url .= "?".$post; + + // echo $url; + // exit(); + + $result= file_get_contents($url); + print_r($result); + exit(); + + $ch=curl_init(); + + if(empty($ch)) + { + die("ERREUR curl_init : Il semble que cURL ne soit pas disponible."); + } + + $options=array + ( + CURLOPT_URL => $url, // Url cible (l'url de la page que vous voulez télécharger) + CURLOPT_RETURNTRANSFER => TRUE, // Retourner le contenu téléchargé dans une chaine (au lieu de l'afficher directement) + CURLOPT_HEADER => FALSE, // Ne pas inclure l'entête de réponse du serveur dans la chaine retournée + CURLOPT_FAILONERROR => TRUE, // Gestion des codes d'erreur HTTP supérieurs ou égaux à 400 + CURLOPT_POST => TRUE, // Effectuer une requête de TYPE POST + CURLOPT_TIMEOUT => 10, + CURLOPT_POSTFIELDS => $postFields // Le tableau associatif contenant les VARIABLES envoyées par POST au serveur + // CURLOPT_POSTFIELDS => $post // Le tableau associatif contenant les VARIABLES envoyées par POST au serveur + ); + + // var_dump($options); + // exit(); + + curl_setopt_array($ch, $options); + + if( ! $result = curl_exec($ch)) + { + trigger_error(curl_error($ch)); + } + + // $info = curl_getinfo($ch); + + curl_close($ch); + + // var_dump($result); + // var_dump($info); + // print_r($info); + // echo $result; + // var_dump($result); + // print_r($result); + // return $result; + } +*/ + +/* fonction_envoyersms_hooza_victor_nkindi + + public function envoyersms() + { + $destinataires = $this->requete->getParametreFormulaire("destinataires"); + $message = $this->requete->getParametreFormulaire("message"); + // $typeSms = $this->requete->getParametreFormulaire("typeSms"); + + + $this->envoimail->logenvoisms($destinataires, $message); + + + // RADIANT + $get = array('username'=>'HoAj-radiant', + 'password'=>'radiant', + 'type'=>'0', + 'dlr'=>'1', + 'destination'=>$destinataires, + 'source'=>'MEDICARE', + 'message'=>$message + ); + + // EBENE + $get = array('username'=>'HoAj-ebene', + 'password'=>'ebene201', + 'type'=>'0', + 'dlr'=>'1', + 'destination'=>$destinataires, + 'source'=>'INTERSANTE', + 'message'=>$message + ); + + $url = "http://rslr.connectbind.com/bulksms/bulksms"; + + + $defaults = array( + CURLOPT_URL => $url. (strpos($url, '?') === FALSE ? '?' : ''). http_build_query($get), + // CURLOPT_URL => $url, + CURLOPT_HEADER => 0, + CURLOPT_RETURNTRANSFER => TRUE, + CURLOPT_TIMEOUT => 10 + ); + + + $ch = curl_init(); + + curl_setopt_array($ch, ($defaults)); + if( ! $result = curl_exec($ch)) + { + trigger_error(curl_error($ch)); + } + + curl_close($ch); + + return $result; + } +*/ +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxfacturecons.php b/Controleur_sav/ControleurAjaxfacturecons.php new file mode 100755 index 0000000..224595f --- /dev/null +++ b/Controleur_sav/ControleurAjaxfacturecons.php @@ -0,0 +1,139 @@ +prescription = new Prescription_temp(); + $this->detailprescription = new Detailprescription(); + $this->prestation = new Prestationactes(); + } + + public function index() + { + $numeroFeuilleMaladie = $_SESSION['numeroFeuilleMaladie_C']; + $codePrestataire = $_SESSION['codePrestataire_C']; + $numeroBonOrdonnance = $_SESSION['numeroBonOrdonnance_C']; + $numeroPrescription = $_SESSION['numeroPrescription_C']; + + $prescription = $this->prescription->getprescription_pha($numeroBonOrdonnance); + + $detailprescriptions = $this->detailprescription->getdetailprescription_pha($numeroBonOrdonnance); + + $detailnonlivres = $this->prescription->getdetailnonlivre(); + + // $detaillivres = $this->prescription->getdetaillivre(); + $detaillivres = $this->prescription->getdetaillivrepha(); + + // $factures = $this->prescription->getfactures_ordonnance($numeroBonOrdonnance); + + $garantieadherent_temp = $this->prestation->getgarantieadherent_temp($numeroFeuilleMaladie, $codePrestataire); + + /* + $this->genererVueAjax(array('prescription' => $prescription, 'detailprescriptions' => $detailprescriptions, 'detailnonlivres' => $detailnonlivres, + 'detaillivres' => $detaillivres, 'garantieadherent_temp' => $garantieadherent_temp, 'factures' => $factures)); + */ + + $this->genererVueAjax(array('prescription' => $prescription, 'detailprescriptions' => $detailprescriptions, 'detailnonlivres' => $detailnonlivres, + 'detaillivres' => $detaillivres, 'garantieadherent_temp' => $garantieadherent_temp)); + } + + public function ajoutermedicament() + { + $idMedicament = $this->requete->getParametreFormulaire("idMedicament"); + + $this->prescription->ajoutermedicament($idMedicament); + + $this->executerAction("index"); + } + + public function ajoutermedicamenttous() + { + $this->prescription->ajoutermedicamenttous(); + $this->executerAction("index"); + } + + public function retirermedicament() + { + $idMedicament = $this->requete->getParametreFormulaire("idMedicament"); + + $this->prescription->retirermedicament($idMedicament); + + $this->executerAction("index"); + } + + public function retirermedicamenttous() + { + $this->prescription->retirermedicamenttous(); + $this->executerAction("index"); + } + + public function enregistrerpharmacie() + { + $this->prescription->facturerpharmacie(); + } + + public function annulersubstitutionmedicament() + { + $idMedicament = $this->requete->getParametreFormulaire("idMedicament"); + + $this->prescription->annulersubstitutionmedicament($idMedicament); + + $this->executerAction("index"); + } + + public function enregistrersubstitutionmedicament() + { + $idMedicament = $this->requete->getParametreFormulaire("idMedicament"); + $prixSubstitut = $this->requete->getParametreFormulaire("prixSubstitut", "numerique"); + + $this->prescription->enregistrersubstitutionmedicament($idMedicament, $prixSubstitut); + + $this->executerAction("index"); + } + + public function ajoutermedicamentprescription() + { + $codeMedicament = $this->requete->getParametreFormulaire("codeMedicament"); + + $this->detailprescription->ajoutermedicamentpha($codeMedicament); + + $this->executerAction("index"); + } + + public function majquantitepha() + { + $idMedicament = $this->requete->getParametre("idMedicament"); + $quantite = $this->requete->getParametreFormulaire("quantite", "numerique"); + + $this->detailprescription->majquantitepha($idMedicament, $quantite); + + $this->executerAction("index"); + } + + public function demanderaccordpha() + { + $idMedicament = $this->requete->getParametreFormulaire("idMedicament"); + + $this->detailprescription->demanderaccordpha($idMedicament); + + $this->executerAction("index"); + } + + public function majprixpha() + { + $idMedicament = $this->requete->getParametre("idMedicament"); + $prix = $this->requete->getParametreFormulaire("prix", "numerique"); + + $this->detailprescription->majprixpha($idMedicament, $prix); + + $this->executerAction("index"); + } +} + diff --git a/Controleur_sav/ControleurAjaxfactureconsassure.php b/Controleur_sav/ControleurAjaxfactureconsassure.php new file mode 100755 index 0000000..319d98c --- /dev/null +++ b/Controleur_sav/ControleurAjaxfactureconsassure.php @@ -0,0 +1,72 @@ +facture = new Facture(); + } + + public function index() + { + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $_SESSION['idFacture_C'] = $idFacture; + + $facture = $this->facture->consulterfacturefacture($idFacture) ; + + $this->genererVueAjax(array('facture' => $facture)); + } + + public function feuillemaladie() + { + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $feuillemaladie = $this->facture->consulterfacturefeuillemaladie($idFacture) ; + + $diagnostics = $this->facture->consulterfacturediagnostics($idFacture); + + $this->genererVueAjax(array('feuillemaladie' => $feuillemaladie, 'diagnostics' => $diagnostics)); + } + + public function prestationactes() + { + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $prestations = $this->facture->consulterfactureprestationactes($idFacture) ; + + $this->genererVueAjax(array('prestations' => $prestations)); + } + + public function medicaments() + { + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $medicaments = $this->facture->consulterfacturemedicaments($idFacture) ; + + $this->genererVueAjax(array('medicaments' => $medicaments)); + } + + public function geds() + { + unset($_FILES['fichier_upload']); + + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $geds = $this->facture->getgedfacture($idFacture); + + $this->genererVueAjax(array('geds' => $geds)); + } + + public function verres() + { + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $verres = $this->facture->consulterfactureverres($idFacture) ; + + $this->genererVueAjax(array('verres' => $verres)); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxfactureconspop.php b/Controleur_sav/ControleurAjaxfactureconspop.php new file mode 100755 index 0000000..7e21cb4 --- /dev/null +++ b/Controleur_sav/ControleurAjaxfactureconspop.php @@ -0,0 +1,72 @@ +facture = new Facture(); + } + + public function index() + { + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $_SESSION['idFacture_C'] = $idFacture; + + $facture = $this->facture->consulterfacturefacture($idFacture) ; + + $this->genererVueAjax(array('facture' => $facture)); + } + + public function feuillemaladie() + { + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $feuillemaladie = $this->facture->consulterfacturefeuillemaladie($idFacture) ; + + $diagnostics = $this->facture->consulterfacturediagnostics($idFacture); + + $this->genererVueAjax(array('feuillemaladie' => $feuillemaladie, 'diagnostics' => $diagnostics)); + } + + public function prestationactes() + { + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $prestations = $this->facture->consulterfactureprestationactes($idFacture) ; + + $this->genererVueAjax(array('prestations' => $prestations)); + } + + public function medicaments() + { + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $medicaments = $this->facture->consulterfacturemedicaments($idFacture) ; + + $this->genererVueAjax(array('medicaments' => $medicaments)); + } + + public function geds() + { + unset($_FILES['fichier_upload']); + + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $geds = $this->facture->getgedfacture($idFacture); + + $this->genererVueAjax(array('geds' => $geds)); + } + + public function verres() + { + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $verres = $this->facture->consulterfactureverres($idFacture) ; + + $this->genererVueAjax(array('verres' => $verres)); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxfactureconsprestataire.php b/Controleur_sav/ControleurAjaxfactureconsprestataire.php new file mode 100755 index 0000000..241aa8a --- /dev/null +++ b/Controleur_sav/ControleurAjaxfactureconsprestataire.php @@ -0,0 +1,72 @@ +facture = new Facture(); + } + + public function index() + { + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $_SESSION['idFacture_C'] = $idFacture; + + $facture = $this->facture->consulterfacturefacture($idFacture) ; + + $this->genererVueAjax(array('facture' => $facture)); + } + + public function feuillemaladie() + { + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $feuillemaladie = $this->facture->consulterfacturefeuillemaladie($idFacture) ; + + $diagnostics = $this->facture->consulterfacturediagnostics($idFacture); + + $this->genererVueAjax(array('feuillemaladie' => $feuillemaladie, 'diagnostics' => $diagnostics)); + } + + public function prestationactes() + { + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $prestations = $this->facture->consulterfactureprestationactes($idFacture) ; + + $this->genererVueAjax(array('prestations' => $prestations)); + } + + public function medicaments() + { + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $medicaments = $this->facture->consulterfacturemedicaments($idFacture) ; + + $this->genererVueAjax(array('medicaments' => $medicaments)); + } + + public function geds() + { + unset($_FILES['fichier_upload']); + + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $geds = $this->facture->getgedfacture($idFacture); + + $this->genererVueAjax(array('geds' => $geds)); + } + + public function verres() + { + $idFacture = $this->requete->getParametreFormulaire("idFacture"); + + $verres = $this->facture->consulterfactureverres($idFacture) ; + + $this->genererVueAjax(array('verres' => $verres)); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxfacturerfeuillemaladie.php b/Controleur_sav/ControleurAjaxfacturerfeuillemaladie.php new file mode 100755 index 0000000..38860d9 --- /dev/null +++ b/Controleur_sav/ControleurAjaxfacturerfeuillemaladie.php @@ -0,0 +1,20 @@ +feuillemaladie = new Feuillemaladie(); + } + + public function index() + { + } + + public function facturer() + { + $this->feuillemaladie->facturer(); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxfactures.php b/Controleur_sav/ControleurAjaxfactures.php new file mode 100755 index 0000000..9ef80a2 --- /dev/null +++ b/Controleur_sav/ControleurAjaxfactures.php @@ -0,0 +1,22 @@ +facture = new Facture(); + } + + public function index() + { + $idBeneficiaire = $_SESSION['idBeneficiaire_C']; + $d1 = $this->requete->getParametreDate("d1"); + $d2 = $this->requete->getParametreDate("d2"); + + $factures = $this->facture->getfactures($idBeneficiaire, $d1, $d2) ; + + $this->genererVueAjax(array('factures' => $factures)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxfacturesfamille.php b/Controleur_sav/ControleurAjaxfacturesfamille.php new file mode 100755 index 0000000..def944b --- /dev/null +++ b/Controleur_sav/ControleurAjaxfacturesfamille.php @@ -0,0 +1,22 @@ +facture = new Facture(); + } + + public function index() + { + $idAdherent = $_SESSION['idAdherent_C']; + $d1 = $this->requete->getParametreDate("d1"); + $d2 = $this->requete->getParametreDate("d2"); + + $factures = $this->facture->getfacturesfamille($idAdherent, $d1, $d2) ; + + $this->genererVueAjax(array('factures' => $factures)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxfacturesfeuille.php b/Controleur_sav/ControleurAjaxfacturesfeuille.php new file mode 100755 index 0000000..eced291 --- /dev/null +++ b/Controleur_sav/ControleurAjaxfacturesfeuille.php @@ -0,0 +1,29 @@ +feuillemaladie = new Feuillemaladie(); + } + + public function index() + { + $numeroFeuilleMaladie = $_SESSION['numeroFeuilleMaladie_C']; + + $factures = $this->feuillemaladie->getfacturesfeuille($numeroFeuilleMaladie); + + $factures_total = null; + + if(count($factures)>"0") + { + $factures_total = $factures['0']; + } + + $this->genererVueAjax(array('factures' => $factures, 'factures_total' => $factures_total)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxfeuillemaladie.php b/Controleur_sav/ControleurAjaxfeuillemaladie.php new file mode 100755 index 0000000..ff0169c --- /dev/null +++ b/Controleur_sav/ControleurAjaxfeuillemaladie.php @@ -0,0 +1,39 @@ +feuillemaladie = new Feuillemaladie(); + $this->prestation = new Prestationactes(); + } + + public function index() + { + $numeroFeuilleMaladie = $_SESSION['numeroFeuilleMaladie_C']; + $codePrestataire = $_SESSION['codePrestataire_C']; + + $garantieadherent_temp = null; + + $infosfeuillemaladie = $this->feuillemaladie->getinfosfeuillemaladie($numeroFeuilleMaladie); + $facture = $infosfeuillemaladie['facture']; + + $this->prestation->vider_garantieadherent_temp($numeroFeuilleMaladie, $codePrestataire); + + if($facture==0) + { + $garantieadherent_temp = $this->prestation->init_garantieadherent_temp($numeroFeuilleMaladie, $codePrestataire); + } + + $feuillemaladie = $this->feuillemaladie->getfeuillemaladie($numeroFeuilleMaladie); + + $prestations = $this->prestation->getprestationsfeuille($numeroFeuilleMaladie, $codePrestataire); + + $this->genererVueAjax(array('feuillemaladie' => $feuillemaladie, 'prestations' => $prestations, + 'garantieadherent_temp' => $garantieadherent_temp)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxgabarit.php b/Controleur_sav/ControleurAjaxgabarit.php new file mode 100755 index 0000000..12e636d --- /dev/null +++ b/Controleur_sav/ControleurAjaxgabarit.php @@ -0,0 +1,14 @@ +genererVueAjax(); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxged.php b/Controleur_sav/ControleurAjaxged.php new file mode 100755 index 0000000..9335a30 --- /dev/null +++ b/Controleur_sav/ControleurAjaxged.php @@ -0,0 +1,34 @@ +ged = new Ged(); + } + + public function index() { + // $this->genererVueAjax(array('reponse' => $reponse)); + $this->genererVueAjax(); + } + + public function verifierexistancefichier() + { + $cheminFichier = $this->requete->getParametreFormulaire("cheminFichier"); + + // modifié à cause de l'url distant chez le prestataire => remote_file_exists($url) + // if(file_exists($cheminFichier)) + if(remote_file_exists($cheminFichier)) + { + $reponse = "1"; + } else + { + $reponse = "0"; + } + + echo "$reponse"; + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxhistoriqueprestation.php b/Controleur_sav/ControleurAjaxhistoriqueprestation.php new file mode 100755 index 0000000..4cc53e7 --- /dev/null +++ b/Controleur_sav/ControleurAjaxhistoriqueprestation.php @@ -0,0 +1,90 @@ +examen = new Examen(); + $this->prestationactes = new Prestationactes(); + $this->garantie = new Garantie(); + + } + + public function index() + { + /* + $numeroAdherent = $this->requete->getParametreFormulaire("numeroAdherent"); + $beneficiaire = $this->prestationactes->getInfoBeneficiaire($numeroBeneficiaire); + + $garanties = $this->garantie->getListePourActe(); + + */ + $this->genererVueAjax(/*array('beneficiaire' => $beneficiaire, 'garanties' => $garanties)*/); + + } + + public function prestations() + { + $numeroAdherent = $this->requete->getParametreFormulaire("numeroAdherent"); + + //$_SESSION['numeroBeneficiaire'] = $numeroBeneficiaire; + + $codeGarantie = $this->requete->getParametreFormulaire("codeGarantie"); + + $d1 = $this->requete->getParametreDate("d1"); + $d2 = $this->requete->getParametreDate("d2"); + + + $garanties = $this->garantie->getListePourActe(); + + $historiqueprestations = $this->prestationactes->gethistoriqueprestation($numeroAdherent, $codeGarantie, $d1, $d2); + + $totalprestations = $this->prestationactes->gettotalprestation($numeroAdherent, $codeGarantie, $d1, $d2); + + + $this->genererVueAjax(array('garanties' => $garanties,'historiqueprestations' => $historiqueprestations, + 'totalprestations' => $totalprestations)); + + } + + public function majquantite() + { + $idExamen = $this->requete->getParametre("idExamen"); + $quantite = $this->requete->getParametreFormulaire("quantite", "numerique"); + + $tm = intval($_SESSION['tm_C']); + + $this->examen->majquantite($idExamen, $quantite, $tm); + + $this->executerAction("index"); + } + + public function supprimer() + { + $idExamen = $this->requete->getParametre("idExamen"); + + $this->examen->supprimerexamen($idExamen); + + $this->examen->updateexamen($_SESSION['numeroFeuilleMaladie_C']); + + $this->executerAction("index"); + } + + + public function gettotalprestation($numeroBeneficiaire, $codeGarantie, $d1, $d2) + { + $sql = 'call sp_get_total_historique_prestation(?, ?, ?, ?);'; + + $resultat = $this->executerRequete($sql, array($numeroBeneficiaire, $codeGarantie, $d1, $d2)); + + return $resultat->fetch(PDO::FETCH_ASSOC); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxhistsupprempreinte.php b/Controleur_sav/ControleurAjaxhistsupprempreinte.php new file mode 100755 index 0000000..3bd7537 --- /dev/null +++ b/Controleur_sav/ControleurAjaxhistsupprempreinte.php @@ -0,0 +1,21 @@ +beneficiaire = new Beneficiaire(); + } + + public function index() + { + $debut = $this->requete->getParametreDate("debut"); + $fin = $this->requete->getParametreDate("fin"); + + $empreintesupprimers = $this->beneficiaire->gethistoempreintesupprimers($debut, $fin); + + $this->genererVueAjax(array('empreintesupprimers' => $empreintesupprimers)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaximprimerlimite.php b/Controleur_sav/ControleurAjaximprimerlimite.php new file mode 100755 index 0000000..e61f9cc --- /dev/null +++ b/Controleur_sav/ControleurAjaximprimerlimite.php @@ -0,0 +1,88 @@ +adherent = new Adherent(); + $this->garantieadherent = new Garantieadherent(); + } + + public function index() + { + $idAdherent = $_SESSION['idAdherent_C']; + + $adherent = $this->adherent->getContexteAdherentId($idAdherent); + $garantieadherents = $this->garantieadherent->getGarantieAdherent($idAdherent); + $totalgarantieadherent = $this->garantieadherent->getTotalGarantieAdherent($idAdherent); + + $pdf = new FPDF(); + $pdf->AliasNbPages(); + $pdf->AddPage(); + + $ht=10; + + $pdf->SetMargins(10, 10, 10) ; + + $pdf->SetFont('Arial','BI', 9); + + $pdf->Cell(0,$ht,convertirc("RADIANT INSURANCE COMPANY : KIGALI"),0,1,'C',false); + + $pdf->SetFont('Arial','BIU', 9); + + $pdf->Cell(0,$ht,convertirc("LILITES DE LA FAMILLE"),0,1,'C',false); + + $pdf->SetFont('Arial','BI', 9); + + $pdf->Cell(30,$ht,convertirc("Nom Adhérent"),0,0,'C',false); + $pdf->Cell(50,$ht,convertirc(" : ".$adherent['nom']),0,0,'L',false); + + $pdf->Cell(40,$ht,convertirc("Prénoms Adhérent"),0,0,'C',false); + $pdf->Cell(60,$ht,convertirc(" : ".$adherent['prenoms']),0,1,'L',false); + + $pdf->SetFont('Arial','', 9); + + $pdf->Cell(0,$ht,convertirc('Edité le : '.heureCourante()),0,1,'R',false); + + $pdf->SetFont('Arial','BI', 9); + + $pdf->Cell(55,$ht,convertirc("Garantie"),1,0,'C',false); + $pdf->Cell(30,$ht,convertirc("Annuelles"),1,0,'C',false); + $pdf->Cell(15,$ht,convertirc("Taux(%)"),1,0,'C',false); + $pdf->Cell(30,$ht,convertirc("En vigeur"),1,0,'C',false); + $pdf->Cell(30,$ht,convertirc("Consommations"),1,0,'C',false); + $pdf->Cell(30,$ht,convertirc("Solde"),1,1,'C',false); + + $pdf->SetFont('Arial','', 9); + + foreach ($garantieadherents as $garantieadherent) + { + $pdf->Cell(55,$ht,convertirc($garantieadherent['garantie']),1,0,'C',false); + $pdf->Cell(30,$ht,format_N($garantieadherent['plafondAnnuel']),1,0,'C',false); + $pdf->Cell(15,$ht,$garantieadherent['tauxAvenant'],1,0,'C',false); + $pdf->Cell(30,$ht,format_N($garantieadherent['plafond']),1,0,'C',false); + $pdf->Cell(30,$ht,format_N($garantieadherent['consommation']),1,0,'C',false); + $pdf->Cell(30,$ht,format_N($garantieadherent['solde']),1,1,'C',false); + } + + $pdf->SetFont('Arial','BI', 9); + + $pdf->Cell(55,$ht,convertirc("Totaux : "),1,0,'C',false); + $pdf->Cell(30,$ht,format_N($totalgarantieadherent['plafondAnnuel']),1,0,'C',false); + $pdf->Cell(15,$ht,"",1,0,'C',false); + $pdf->Cell(30,$ht,format_N($totalgarantieadherent['plafond']),1,0,'C',false); + $pdf->Cell(30,$ht,format_N($totalgarantieadherent['consommation']),1,0,'C',false); + $pdf->Cell(30,$ht,format_N($totalgarantieadherent['solde']),1,1,'C',false); + + $fichier="Temp/limites_famille"."_".uniqid().".pdf"; + $pdf->Output($fichier,"F"); + echo 'Télécharger le résultat : LIMITES DE LA FAMILLE'; + exit(); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxinfosbeneficiaire.php b/Controleur_sav/ControleurAjaxinfosbeneficiaire.php new file mode 100755 index 0000000..ff5921c --- /dev/null +++ b/Controleur_sav/ControleurAjaxinfosbeneficiaire.php @@ -0,0 +1,86 @@ +beneficiaire = new Beneficiaire(); + $this->police = new Police(); + $this->garantieadherent = new Garantieadherent(); + $this->adherent = new Adherent(); + + $this->garantie = new Garantie(); + + $_SESSION['modeDevis'] = "0"; + } + + public function index() + { + + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + $codeSociete = $this->requete->getSession()->getAttribut('codeSociete'); + + $infos = $this->beneficiaire->getBeneficiaireNumeroId($numeroBeneficiaire); + + $idBeneficiaire = $infos['idBeneficiaire']; + //var_dump($idBeneficiaire); + + $dateJour = date('Y-m-d'); + + $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + $idPolice = $infos['idPolice']; + + $this->police->getContextePoliceId($idPolice); + $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $idAdherent = $infos['idAdherent']; + + $garantieadherents = $this->garantieadherent->getGarantieBeneficiaire($idBeneficiaire); + + $beneficiaire = $this->beneficiaire->getBeneficiaireId($idBeneficiaire); + + $_SESSION['dateEffetCouvert'] = $beneficiaire['dateEffetCouvert']; + + $this->adherent->getNbassure($idPolice); + + $adherent = $this->adherent->getContexteAdherentId($idAdherent); + $beneficiaires = $this->beneficiaire->getBeneficiairesId($idAdherent, $dateJour); + $totalbeneficiaires = $this->beneficiaire->getTotalBeneficiairesId($idAdherent); + + $this->adherent->controlerplafondadherentannuel($idAdherent); + $_SESSION['controlerPlafondBeneficiaire'] = "0"; + + $limite_adherent = $this->garantieadherent->getSituationPolice($infos['idBeneficiaire']); + + $actes = $this->garantieadherent->getBaremePlafondAdherent($idAdherent, $idBeneficiaire); + + $police = $this->beneficiaire->getSituationPolice($idBeneficiaire); + + $college = $this->beneficiaire->getSituationCollege($idBeneficiaire); + + $baseTarification = $this->beneficiaire->getBaseTarificationBeneficiaire($idBeneficiaire); + + $garanties = $this->garantie->getListePourActe(); + + $this->genererVueAjax(array('beneficiaire' => $beneficiaire, 'garantieadherents' => $garantieadherents, + 'adherent' => $adherent, 'beneficiaires' => $beneficiaires, 'totalbeneficiaires' => $totalbeneficiaires, + 'limite_adherent' => $limite_adherent, 'actes' => $actes, 'police' => $police, 'college' => $college, + 'baseTarification' => $baseTarification, 'numeroBeneficiaire' => $numeroBeneficiaire, 'garanties' => $garanties)); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxinsererbaremeactecollege.php b/Controleur_sav/ControleurAjaxinsererbaremeactecollege.php new file mode 100755 index 0000000..eef91bc --- /dev/null +++ b/Controleur_sav/ControleurAjaxinsererbaremeactecollege.php @@ -0,0 +1,85 @@ +garantie = new Garantiesbaremepriseencharge(); + + } + + public function index() + { + $codeGarantie = $this->requete->getParametreFormulaire("codeGarantie"); + $idBaremePriseEnCharge = $this->requete->getParametreFormulaire("idBaremePriseEnCharge"); + + $actes = $this->garantie->getActesGarantieBareme($idBaremePriseEnCharge,$codeGarantie); + + $this->genererVueAjax(array + ( + 'actes' => $actes + )); + + } + + public function ajouter() + { + $codeGarantie = $this->requete->getParametreFormulaire("codeGarantie"); + $idBaremePriseEnCharge = $this->requete->getParametreFormulaire("idBaremePriseEnCharge"); + + $codeActe = $this->requete->getParametreFormulaire("codeActe"); + + $dateEffetActe = $this->requete->getParametreDate("dateEffetActe"); + $forfaitPlafondActeAdherent = $this->requete->getParametreFormulaire("forfaitPlafondActeAdherent"); + $codePeriodicitePlafondActeAdherent = $this->requete->getParametreFormulaire("codePeriodicitePlafondActeAdherent"); + $nbreTransactionActeAdherent = $this->requete->getParametreFormulaire("nbreTransactionActeAdherent"); + $codePeriodiciteActeAdherent = $this->requete->getParametreFormulaire("codePeriodiciteActeAdherent"); + $forfaitPlafondActe = $this->requete->getParametreFormulaire("forfaitPlafondActe"); + $codePeriodicitePlafondActe = $this->requete->getParametreFormulaire("codePeriodicitePlafondActe"); + $nbreTransactionActe = $this->requete->getParametreFormulaire("nbreTransactionActe"); + $codePeriodiciteActe = $this->requete->getParametreFormulaire("codePeriodiciteActe"); + $codeTypeRemboursementActe = $this->requete->getParametreFormulaire("codeTypeRemboursementActe"); + $delaiCarenceActe = $this->requete->getParametreFormulaire("delaiCarenceActe"); + $ticketModerateurActe = $this->requete->getParametreFormulaire("ticketModerateurActe"); + $ageMinimumActe = $this->requete->getParametreFormulaire("ageMinimumActe"); + $ageMaximumActe = $this->requete->getParametreFormulaire("ageMaximumActe"); + $actifActe = $this->requete->getParametreFormulaire("actifActe"); + + $forfaitTmActe = $this->requete->getParametreFormulaire("forfaitTmActe"); + + $this->garantie->insererActeBareme($idBaremePriseEnCharge,$codeGarantie,$codeActe,$dateEffetActe,$forfaitPlafondActeAdherent, + $codePeriodicitePlafondActeAdherent,$nbreTransactionActeAdherent,$codePeriodiciteActeAdherent,$forfaitPlafondActe, + $codePeriodicitePlafondActe,$nbreTransactionActe,$codePeriodiciteActe,$codeTypeRemboursementActe,$delaiCarenceActe, + $ticketModerateurActe,$ageMinimumActe,$ageMaximumActe,$actifActe, $forfaitTmActe); + + + } + + public function controle() + { + $codeGarantie = $this->requete->getParametreFormulaire("codeGarantie"); + $idBaremePriseEnCharge = $this->requete->getParametreFormulaire("idBaremePriseEnCharge"); + $codeActe = $this->requete->getParametreFormulaire("codeActe"); + + $maxDateEffetActeBareme = $this->garantie->getMaxDateEffetActeBareme($idBaremePriseEnCharge,$codeGarantie,$codeActe); + + $this->genererVueAjax(array + ( + 'maxDateEffetActeBareme' => $maxDateEffetActeBareme + )); + + + } + + public function supprimer() + { + $idActe = $this->requete->getParametreFormulaire("idActe"); + + $this->garantie->supprimerActeBareme($idActe); + + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxinsererbaremeactelienparentecollege.php b/Controleur_sav/ControleurAjaxinsererbaremeactelienparentecollege.php new file mode 100755 index 0000000..74ee0aa --- /dev/null +++ b/Controleur_sav/ControleurAjaxinsererbaremeactelienparentecollege.php @@ -0,0 +1,88 @@ +garantie = new Garantiesbaremepriseencharge(); + + } + + public function index() + { + $codeGarantie = $this->requete->getParametreFormulaire("codeGarantie"); + $idBaremePriseEnCharge = $this->requete->getParametreFormulaire("idBaremePriseEnCharge"); + + $acteslienparente = $this->garantie->getActesGarantieBaremeLienParente($idBaremePriseEnCharge,$codeGarantie); + + + $this->genererVueAjax(array + ( + 'acteslienparente' => $acteslienparente + )); + + } + + public function ajouter() + { + $codeGarantie = $this->requete->getParametreFormulaire("codeGarantie"); + $idBaremePriseEnCharge = $this->requete->getParametreFormulaire("idBaremePriseEnCharge"); + + $codeActeLienParente = $this->requete->getParametreFormulaire("codeActeLienParente"); + + $dateEffetActeLienParente = $this->requete->getParametreDate("dateEffetActeLienParente"); + + $codeLienParenteActeLienParente = $this->requete->getParametreFormulaire("codeLienParenteActeLienParente"); + + $forfaitPlafondActeLienParente = $this->requete->getParametreFormulaire("forfaitPlafondActeLienParente"); + $codePeriodicitePlafondActeLienParente = $this->requete->getParametreFormulaire("codePeriodicitePlafondActeLienParente"); + $nbreTransactionActeLienParente = $this->requete->getParametreFormulaire("nbreTransactionActeLienParente"); + $codePeriodiciteActeLienParente = $this->requete->getParametreFormulaire("codePeriodiciteActeLienParente"); + + $codeTypeRemboursementActeLienParente = $this->requete->getParametreFormulaire("codeTypeRemboursementActeLienParente"); + $delaiCarenceActeLienParente = $this->requete->getParametreFormulaire("delaiCarenceActeLienParente"); + $ticketModerateurActeLienParente = $this->requete->getParametreFormulaire("ticketModerateurActeLienParente"); + $ageMinimumActeLienParente = $this->requete->getParametreFormulaire("ageMinimumActeLienParente"); + $ageMaximumActeLienParente = $this->requete->getParametreFormulaire("ageMaximumActeLienParente"); + $actifActeLienParente = $this->requete->getParametreFormulaire("actifActeLienParente"); + + $forfaitTmActeLienParente = $this->requete->getParametreFormulaire("forfaitTmActeLienParente"); + + + $this->garantie->insererActeBaremeLienParente($idBaremePriseEnCharge,$codeGarantie,$codeActeLienParente,$dateEffetActeLienParente,$codeLienParenteActeLienParente, + $forfaitPlafondActeLienParente,$codePeriodicitePlafondActeLienParente,$nbreTransactionActeLienParente,$codePeriodiciteActeLienParente,$codeTypeRemboursementActeLienParente, + $delaiCarenceActeLienParente,$ticketModerateurActeLienParente,$ageMinimumActeLienParente,$ageMaximumActeLienParente,$actifActeLienParente, $forfaitTmActeLienParente); + + + } + + public function controle() + { + $codeGarantie = $this->requete->getParametreFormulaire("codeGarantie"); + $idBaremePriseEnCharge = $this->requete->getParametreFormulaire("idBaremePriseEnCharge"); + $codeActeLienParente = $this->requete->getParametreFormulaire("codeActeLienParente"); + $codeLienParenteActeLienParente = $this->requete->getParametreFormulaire("codeLienParenteActeLienParente"); + + $maxDateEffetActeBaremeLienParente = $this->garantie->getMaxDateEffetActeBaremeLienParente($idBaremePriseEnCharge,$codeGarantie,$codeActeLienParente,$codeLienParenteActeLienParente); + + $this->genererVueAjax(array + ( + 'maxDateEffetActeBaremeLienParente' => $maxDateEffetActeBaremeLienParente + )); + + + } + + public function supprimer() + { + $idActe = $this->requete->getParametreFormulaire("idActe"); + + $this->garantie->supprimerActeBaremeLienparente($idActe); + + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxinsererbaremegarantiecollege.php b/Controleur_sav/ControleurAjaxinsererbaremegarantiecollege.php new file mode 100755 index 0000000..a4999ac --- /dev/null +++ b/Controleur_sav/ControleurAjaxinsererbaremegarantiecollege.php @@ -0,0 +1,73 @@ +garantie = new Garantiesbaremepriseencharge(); + + } + + public function index() + { + $codeGarantie = $this->requete->getParametreFormulaire("codeGarantie"); + $idBaremePriseEnCharge = $this->requete->getParametreFormulaire("idBaremePriseEnCharge"); + + $familleacte = $this->garantie->getFamilleActeGarantieBareme($idBaremePriseEnCharge,$codeGarantie); + + $maxDateEffetGarantie = $this->garantie->getMaxDateEffetGarantie($idBaremePriseEnCharge,$codeGarantie); + + + $this->genererVueAjax(array + ( + 'familleacte' => $familleacte, + 'maxDateEffetGarantie' => $maxDateEffetGarantie + )); + + } + + public function ajouter() + { + $codeGarantie = $this->requete->getParametreFormulaire("codeGarantie"); + $idBaremePriseEnCharge = $this->requete->getParametreFormulaire("idBaremePriseEnCharge"); + + $dateEffetGarantie = $this->requete->getParametreDate("dateEffetGarantie"); + $forfaitPlafondGarantieAdherent = $this->requete->getParametreFormulaire("forfaitPlafondGarantieAdherent"); + $codePeriodicitePlafondGarantieAdherent = $this->requete->getParametreFormulaire("codePeriodicitePlafondGarantieAdherent"); + $nbreTransactionGarantieAdherent = $this->requete->getParametreFormulaire("nbreTransactionGarantieAdherent"); + $codePeriodiciteGarantieAdherent = $this->requete->getParametreFormulaire("codePeriodiciteGarantieAdherent"); + $forfaitPlafondGarantie = $this->requete->getParametreFormulaire("forfaitPlafondGarantie"); + $codePeriodicitePlafondGarantie = $this->requete->getParametreFormulaire("codePeriodicitePlafondGarantie"); + $nbreTransactionGarantie = $this->requete->getParametreFormulaire("nbreTransactionGarantie"); + $codePeriodiciteGarantie = $this->requete->getParametreFormulaire("codePeriodiciteGarantie"); + //$codeObservationFamilleActe = $this->requete->getParametreFormulaire("codeObservationFamilleActe"); + $codeTypeRemboursement = $this->requete->getParametreFormulaire("codeTypeRemboursement"); + $delaiCarenceFamilleActe = $this->requete->getParametreFormulaire("delaiCarenceFamilleActe"); + $ticketModerateurFamilleActe = $this->requete->getParametreFormulaire("ticketModerateurFamilleActe"); + $ageMinimumFamilleActe = $this->requete->getParametreFormulaire("ageMinimumFamilleActe"); + $ageMaximumFamilleActe = $this->requete->getParametreFormulaire("ageMaximumFamilleActe"); + $actifFamilleActe = $this->requete->getParametreFormulaire("actifFamilleActe"); + + $forfaitTmGarantie = $this->requete->getParametreFormulaire("forfaitTmGarantie"); + + + $this->garantie->insererGarantieBareme($idBaremePriseEnCharge,$codeGarantie,$dateEffetGarantie,$forfaitPlafondGarantieAdherent, + $codePeriodicitePlafondGarantieAdherent,$nbreTransactionGarantieAdherent,$codePeriodiciteGarantieAdherent,$forfaitPlafondGarantie, + $codePeriodicitePlafondGarantie,$nbreTransactionGarantie,$codePeriodiciteGarantie,$codeTypeRemboursement,$delaiCarenceFamilleActe, + $ticketModerateurFamilleActe,$ageMinimumFamilleActe,$ageMaximumFamilleActe,$actifFamilleActe,$forfaitTmGarantie); + + + } + + public function supprimer() + { + $idGarantie = $this->requete->getParametreFormulaire("idGarantie"); + + $this->garantie->supprimerGarantieBareme($idGarantie); + + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxinsererbaremegarantielienparentecollege.php b/Controleur_sav/ControleurAjaxinsererbaremegarantielienparentecollege.php new file mode 100755 index 0000000..b3f8f0d --- /dev/null +++ b/Controleur_sav/ControleurAjaxinsererbaremegarantielienparentecollege.php @@ -0,0 +1,83 @@ +garantie = new Garantiesbaremepriseencharge(); + + } + + public function index() + { + $codeGarantie = $this->requete->getParametreFormulaire("codeGarantie"); + $idBaremePriseEnCharge = $this->requete->getParametreFormulaire("idBaremePriseEnCharge"); + + $garantielienparente = $this->garantie->getGarantieLienParenteBareme($idBaremePriseEnCharge,$codeGarantie); + + + $this->genererVueAjax(array + ( + 'garantielienparente' => $garantielienparente + )); + + } + + public function ajouter() + { + $codeGarantie = $this->requete->getParametreFormulaire("codeGarantie"); + $idBaremePriseEnCharge = $this->requete->getParametreFormulaire("idBaremePriseEnCharge"); + + $dateEffetGarantieLienParente = $this->requete->getParametreDate("dateEffetGarantieLienParente"); + $codeLienParente = $this->requete->getParametreFormulaire("codeLienParente"); + $forfaitPlafondGarantieLienParente = $this->requete->getParametreFormulaire("forfaitPlafondGarantieLienParente"); + $codePeriodicitePlafondGarantieLienParente = $this->requete->getParametreFormulaire("codePeriodicitePlafondGarantieLienParente"); + $nbreTransactionGarantieLienParente = $this->requete->getParametreFormulaire("nbreTransactionGarantieLienParente"); + $codePeriodiciteGarantieLienParente = $this->requete->getParametreFormulaire("codePeriodiciteGarantieLienParente"); + + //$codeObservationFamilleActeLienParente = $this->requete->getParametreFormulaire("codeObservationFamilleActeLienParente"); + + $codeTypeRemboursementLienParente = $this->requete->getParametreFormulaire("codeTypeRemboursementLienParente"); + + $delaiCarenceFamilleActeLienParente = $this->requete->getParametreFormulaire("delaiCarenceFamilleActeLienParente"); + $ticketModerateurFamilleActeLienParente = $this->requete->getParametreFormulaire("ticketModerateurFamilleActeLienParente"); + $ageMinimumFamilleActeLienParente = $this->requete->getParametreFormulaire("ageMinimumFamilleActeLienParente"); + $ageMaximumFamilleActeLienParente = $this->requete->getParametreFormulaire("ageMaximumFamilleActeLienParente"); + $actifFamilleActeLienParente = $this->requete->getParametreFormulaire("actifFamilleActeLienParente"); + + $forfaitTmGarantieLienParente = $this->requete->getParametreFormulaire("forfaitTmGarantieLienParente"); + + + $this->garantie->insererGarantieBaremeLienparente($idBaremePriseEnCharge,$codeGarantie,$dateEffetGarantieLienParente,$codeLienParente,$forfaitPlafondGarantieLienParente, + $codePeriodicitePlafondGarantieLienParente,$nbreTransactionGarantieLienParente,$codePeriodiciteGarantieLienParente,$codeTypeRemboursementLienParente, + $delaiCarenceFamilleActeLienParente,$ticketModerateurFamilleActeLienParente,$ageMinimumFamilleActeLienParente,$ageMaximumFamilleActeLienParente,$actifFamilleActeLienParente, + $forfaitTmGarantieLienParente); + + } + + public function controle() + { + $codeGarantie = $this->requete->getParametreFormulaire("codeGarantie"); + $idBaremePriseEnCharge = $this->requete->getParametreFormulaire("idBaremePriseEnCharge"); + $codeLienParente = $this->requete->getParametreFormulaire("codeLienParente"); + + $maxDateEffetGarantieLienParente = $this->garantie->getMaxDateEffetGarantieLienparente($idBaremePriseEnCharge,$codeGarantie,$codeLienParente); + + $this->genererVueAjax(array + ( + 'maxDateEffetGarantieLienParente' => $maxDateEffetGarantieLienParente + )); + } + + public function supprimer() + { + $idGarantie = $this->requete->getParametreFormulaire("idGarantie"); + + $this->garantie->supprimerGarantieBaremeLienparente($idGarantie); + + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxinsererdetailbaremecollege.php b/Controleur_sav/ControleurAjaxinsererdetailbaremecollege.php new file mode 100755 index 0000000..8718968 --- /dev/null +++ b/Controleur_sav/ControleurAjaxinsererdetailbaremecollege.php @@ -0,0 +1,48 @@ +garantie = new Garantiesbaremepriseencharge(); + + } + + public function index() + { + $idBaremePriseEnCharge = $this->requete->getParametreFormulaire("idBaremePriseEnCharge"); + + $maxDateEffetBareme = $this->garantie->getMaxDateEffetBareme($idBaremePriseEnCharge); + + $detailbareme = $this->garantie->getDetailBareme($idBaremePriseEnCharge); + + $this->genererVueAjax(array + ( + 'maxDateEffetBareme' => $maxDateEffetBareme, + 'detailbareme' => $detailbareme + )); + + } + + public function ajouter() + { + $idBaremePriseEnCharge = $this->requete->getParametreFormulaire("idBaremePriseEnCharge"); + + $dateEffetBareme = $this->requete->getParametreDate("dateEffetBareme"); + $ticketModerateurBareme = $this->requete->getParametreFormulaire("ticketModerateurBareme"); + + $this->garantie->insererBareme($idBaremePriseEnCharge, $dateEffetBareme, $ticketModerateurBareme); + } + + public function supprimer() + { + $idDetail = $this->requete->getParametreFormulaire("idDetail"); + + $this->garantie->supprimerBareme($idDetail); + + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxlienparente.php b/Controleur_sav/ControleurAjaxlienparente.php new file mode 100755 index 0000000..2613fb1 --- /dev/null +++ b/Controleur_sav/ControleurAjaxlienparente.php @@ -0,0 +1,24 @@ +remboursement = new Remboursement(); + } + + public function index() + { + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + + $lienParente = $this->remboursement->getLienParenteBeneficaire($numeroBeneficiaire); + + + $this->genererVueAjax(array('lienParente' => $lienParente)); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxlisteged.php b/Controleur_sav/ControleurAjaxlisteged.php new file mode 100755 index 0000000..ba56d23 --- /dev/null +++ b/Controleur_sav/ControleurAjaxlisteged.php @@ -0,0 +1,24 @@ +ged = new Ged(); + } + + public function index() + { + // unset($_FILES['fichier_upload']); + + $d1 = $this->requete->getParametreDate("d1"); + $d2 = $this->requete->getParametreDate("d2"); + $nomOrigine = $this->requete->getParametreFormulaire("nomOrigine"); + + $geds = $this->ged->getged($d1, $d2, $nomOrigine); + + $this->genererVueAjax(array('geds' => $geds)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxlistegedadherent.php b/Controleur_sav/ControleurAjaxlistegedadherent.php new file mode 100755 index 0000000..72e131b --- /dev/null +++ b/Controleur_sav/ControleurAjaxlistegedadherent.php @@ -0,0 +1,24 @@ +ged = new Ged(); + } + + public function index() + { + unset($_FILES['fichier_upload']); + + $d1 = $this->requete->getParametreDate("d1"); + $d2 = $this->requete->getParametreDate("d2"); + $nomOrigine = $this->requete->getParametreFormulaire("nomOrigine"); + + $geds = $this->ged->getgedadherent($d1, $d2, $nomOrigine); + + $this->genererVueAjax(array('geds' => $geds)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxlistegedbeneficiaire.php b/Controleur_sav/ControleurAjaxlistegedbeneficiaire.php new file mode 100755 index 0000000..8a6461b --- /dev/null +++ b/Controleur_sav/ControleurAjaxlistegedbeneficiaire.php @@ -0,0 +1,24 @@ +ged = new Ged(); + } + + public function index() + { + unset($_FILES['fichier_upload']); + + $d1 = $this->requete->getParametreDate("d1"); + $d2 = $this->requete->getParametreDate("d2"); + $nomOrigine = $this->requete->getParametreFormulaire("nomOrigine"); + + $geds = $this->ged->getgedbeneficiaireprest($d1, $d2, $nomOrigine); + + $this->genererVueAjax(array('geds' => $geds)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxlistegedbeneficiaireprest.php b/Controleur_sav/ControleurAjaxlistegedbeneficiaireprest.php new file mode 100755 index 0000000..d493a40 --- /dev/null +++ b/Controleur_sav/ControleurAjaxlistegedbeneficiaireprest.php @@ -0,0 +1,24 @@ +ged = new Ged(); + } + + public function index() + { + unset($_FILES['fichier_upload']); + + $d1 = $this->requete->getParametreDate("d1"); + $d2 = $this->requete->getParametreDate("d2"); + $nomOrigine = $this->requete->getParametreFormulaire("nomOrigine"); + + $geds = $this->ged->getgedbeneficiaireprest($d1, $d2, $nomOrigine); + + $this->genererVueAjax(array('geds' => $geds)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxlistegedfeuillemaladie.php b/Controleur_sav/ControleurAjaxlistegedfeuillemaladie.php new file mode 100755 index 0000000..38d5286 --- /dev/null +++ b/Controleur_sav/ControleurAjaxlistegedfeuillemaladie.php @@ -0,0 +1,24 @@ +ged = new Ged(); + } + + public function index() + { + unset($_FILES['fichier_upload']); + + $d1 = $this->requete->getParametreDate("d1"); + $d2 = $this->requete->getParametreDate("d2"); + $nomOrigine = $this->requete->getParametreFormulaire("nomOrigine"); + + $geds = $this->ged->getgedfeuillemaladie($d1, $d2, $nomOrigine); + + $this->genererVueAjax(array('geds' => $geds)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxlistegedpharmacie.php b/Controleur_sav/ControleurAjaxlistegedpharmacie.php new file mode 100755 index 0000000..e97be01 --- /dev/null +++ b/Controleur_sav/ControleurAjaxlistegedpharmacie.php @@ -0,0 +1,116 @@ +ged = new Ged(); + } + + public function index($msgErreur=null) + { + unset($_FILES['fichier_upload']); + $geds = $this->ged->getgedpharmacie(); + $this->genererVueAjax(array('geds' => $geds)); + } + + public function chargerged($msgErreur=null) + { + $message = ""; + + $nouveau_fichier = "rien"; + + if(!empty($_POST)) + { + define('TARGET', $_SESSION['cheminGed']); // Repertoire cible + define('MAX_SIZE', 10000000); // Taille max en octets du fichier + + // Tableaux de donnees + // ".avi", ".bmp", ".doc", ".docx", ".gif", ".jpeg", "jpg", "jpe", ".mkv", ".mp3", ".pdf", ".png", ".pps", ".xls", ".xlsx", ".wav" + // $tabExt = array('jpg','png','jpeg'); // Extensions autorisees + + $tabExt = array("avi", "bmp", "doc", "docx", "gif", "jpeg", "jpg", "jpe", "mkv", "mp3", "mp4", "pdf", "png", "pps", "xls", "xlsx", "wav"); // Extensions autorisees + + // Variables + $extension = ''; + + if( !is_dir(TARGET) ) + { + if( !mkdir(TARGET, 0755) ) + { + $message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !'; + } + } + + // On verifie si le champ est rempli + if( !empty($_FILES['fichier_upload']['name']) ) + { + // Recuperation de l'extension du fichier + + $extension = pathinfo($_FILES['fichier_upload']['name'], PATHINFO_EXTENSION); + + // On verifie l'extension du fichier + if(in_array(strtolower($extension), $tabExt)) + { + $message = $_FILES['fichier_upload']['size']; + + // On verifie les dimensions et taille du fichier + if($_FILES['fichier_upload']['size'] <= MAX_SIZE) + { + $taille = $_FILES['fichier_upload']['size']; + + // Parcours du tableau d'erreurs + if(isset($_FILES['fichier_upload']['error']) && UPLOAD_ERR_OK === $_FILES['fichier_upload']['error']) + { + // On renomme le fichier + $nomOrigine = $_FILES['fichier_upload']['name']; + $nouveau_fichier = dateJourSql()."_".uniqid().".".$extension; + + // Si c'est OK, on teste l'upload + if(move_uploaded_file($_FILES['fichier_upload']['tmp_name'], TARGET.$nouveau_fichier)) + { + $message = 'Chargé avec succès / Uploaded successfully'; + + // on va envoyer dans la base de données + // $this->ged->enregistrergedfeuillemaladie($nomOrigine, $nouveau_fichier, $taille); + $this->ged->enregistrergedpharmacie($nomOrigine, $nouveau_fichier, $taille); + } + else + { + // Sinon on affiche une erreur systeme + $message = 'Problème lors du chargement !'; + } + } + else + { + $message = 'Une erreur interne a empêché le chargement'; + } + } + else + { + $message .= $_FILES['fichier_upload']['size']." Erreur dans les dimensions du fichier !"; + // $message = 'Erreur dans les dimensions du fichier !'; + } + } + else + { + // Sinon on affiche une erreur pour l'extension + $message = 'Extension du fichier est incorrecte !'; + } + } + else + { + // Sinon on affiche une erreur pour le champ vide + $message = 'Veuillez sélectionner un fichier SVP! / Please select a file!'; + } + + // fin upload + } + + $msgErreur = $message; + $this->rediriger("Pharmacien"); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxlistemedecins.php b/Controleur_sav/ControleurAjaxlistemedecins.php new file mode 100755 index 0000000..9042512 --- /dev/null +++ b/Controleur_sav/ControleurAjaxlistemedecins.php @@ -0,0 +1,28 @@ +medecin = new Medecin(); + } + + public function index($nomsearch="") + { + if ($this->requete->existeParametre("valid")) + { + $codePrestataire = $_SESSION['codePrestataire_C']; + $nomsearch = $this->requete->getParametreFormulaire("nomsearch"); + $noOrdreMedecin = $this->requete->getParametreFormulaire("noOrdreMedecin"); + + $mdedecins_pop = $this->medecin->getmedeconspossibles($codePrestataire, $nomsearch, $noOrdreMedecin); + } + else + { + $mdedecins_pop = $this->medecin->getmedecinsvide(); + } + $this->genererVueAjax(array('mdedecins_pop' => $mdedecins_pop, 'nomsearch' => $nomsearch, 'noOrdreMedecin' => $noOrdreMedecin)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxlistemedecinsrequete.php b/Controleur_sav/ControleurAjaxlistemedecinsrequete.php new file mode 100755 index 0000000..de5af69 --- /dev/null +++ b/Controleur_sav/ControleurAjaxlistemedecinsrequete.php @@ -0,0 +1,28 @@ +medecin = new Medecin(); + } + + public function index($nomsearch="") + { + if ($this->requete->existeParametre("valid")) + { + $codePrestataire = $_SESSION['codePrestataire_C']; + $nomsearch = $this->requete->getParametreFormulaire("nomsearch"); + $noOrdreMedecin = $this->requete->getParametreFormulaire("noOrdreMedecin"); + + $mdedecins_pop = $this->medecin->getmedeconspossibles($codePrestataire, $nomsearch, $noOrdreMedecin); + } + else + { + $mdedecins_pop = $this->medecin->getmedecinsvide(); + } + $this->genererVueAjax(array('mdedecins_pop' => $mdedecins_pop, 'nomsearch' => $nomsearch, 'noOrdreMedecin' => $noOrdreMedecin)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxlistemedicaments.php b/Controleur_sav/ControleurAjaxlistemedicaments.php new file mode 100755 index 0000000..a740348 --- /dev/null +++ b/Controleur_sav/ControleurAjaxlistemedicaments.php @@ -0,0 +1,28 @@ +medicament = new Detailtarifmedicament(); + } + + public function index($nomsearch="") + { + if ($this->requete->existeParametre("valid")) + { + $nomsearch = $this->requete->getParametreFormulaire("nomsearch"); + + $mdedicaments_pop = $this->medicament->getmedicamentspossibles($nomsearch); + } + else + { + $mdedicaments_pop = $this->medicament->getmedicamentvide(); + } + + $this->genererVueAjax(array('mdedicaments_pop' => $mdedicaments_pop, 'nomsearch' => $nomsearch)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxlistemedicamentspha.php b/Controleur_sav/ControleurAjaxlistemedicamentspha.php new file mode 100755 index 0000000..4f7dad0 --- /dev/null +++ b/Controleur_sav/ControleurAjaxlistemedicamentspha.php @@ -0,0 +1,38 @@ +medicament = new Detailtarifmedicament(); + } + + public function index($nomsearch="") + { + if ($this->requete->existeParametre("valid")) + { + $nomsearch = $this->requete->getParametreFormulaire("nomsearch"); + + $mdedicaments_pop = $this->medicament->getmedicamentspossibles($nomsearch); + } + else + { + $mdedicaments_pop = $this->medicament->getmedicamentvide(); + } + + $this->genererVueAjax(array('mdedicaments_pop' => $mdedicaments_pop, 'nomsearch' => $nomsearch)); + } + + public function creermedicament() + { + $nomMedicament = $this->requete->getParametreFormulaire("libelleMedicament"); + $prixMedicament = $this->requete->getParametreFormulaire("prixMedicament", "numerique"); + $qteMedicament = $this->requete->getParametreFormulaire("qteMedicament", "numerique"); + + $this->medicament->creermedicament($nomMedicament, $prixMedicament, $qteMedicament); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxlistemessagerie.php b/Controleur_sav/ControleurAjaxlistemessagerie.php new file mode 100755 index 0000000..4f768d3 --- /dev/null +++ b/Controleur_sav/ControleurAjaxlistemessagerie.php @@ -0,0 +1,44 @@ +messagerie = new Messagerie(); + } + + public function index() + { + $codePrestataire = $_SESSION['codePrestataire_C']; + + $date1 = $this->requete->getParametreDate("date1"); + $date2 = $this->requete->getParametreDate("date2"); + + $messageLu = $this->requete->getParametreFormulaire("messageLu"); + $textMessage = $this->requete->getParametreFormulaire("textMessage"); + + $_SESSION['d1_C'] = $date1; + $_SESSION['d2_C'] = $date2; + + $messages = $this->messagerie->getmessages($codePrestataire, $date1, $date2, $messageLu, $textMessage) ; + + $messages_commun = $this->messagerie->getmessagescommun($date1, $date2); + + $this->genererVueAjax(array('messages' => $messages, 'messages_commun' => $messages_commun)); + + } + + public function repondremessage() + { + $idMessagerie = $this->requete->getParametreFormulaire("idMessagerie"); + $idParent = $this->requete->getParametreFormulaire("idParent"); + + $this->messagerie->repondremessage($idMessagerie, $idParent); + + // $this->executerAction("index"); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxlisteprestataireparametrage.php b/Controleur_sav/ControleurAjaxlisteprestataireparametrage.php new file mode 100755 index 0000000..88bcaf5 --- /dev/null +++ b/Controleur_sav/ControleurAjaxlisteprestataireparametrage.php @@ -0,0 +1,44 @@ +prestataire = new Prestataire(); + } + + public function index() + { + $codeTypePrestataire = $this->requete->getParametreFormulaire("codeTypePrestataire"); + $codeReseau = $this->requete->getParametreFormulaire("codeReseau"); + $libelle = $this->requete->getParametreFormulaire("libelle"); + + $codePays = $this->requete->getParametreFormulaire("codePays"); + $codeVille = $this->requete->getParametreFormulaire("codeVille"); + $codeLocalite = $this->requete->getParametreFormulaire("codeLocalite"); + + $prestataires = $this->prestataire->getprestataireparametrage($codeTypePrestataire, $codeReseau, $libelle, + $codePays, $codeVille, $codeLocalite) ; + + $this->genererVueAjax(array('prestataires' => $prestataires)); + } + + public function prestatairesactifs() + { + $codeTypePrestataire = $this->requete->getParametreFormulaire("codeTypePrestataire"); + $codeReseau = $this->requete->getParametreFormulaire("codeReseau"); + $libelle = $this->requete->getParametreFormulaire("libelle"); + + $codePays = $this->requete->getParametreFormulaire("codePays"); + $codeVille = $this->requete->getParametreFormulaire("codeVille"); + $codeLocalite = $this->requete->getParametreFormulaire("codeLocalite"); + + $prestataires = $this->prestataire->getprestataireparametrageactif($codeTypePrestataire, $codeReseau, $libelle, + $codePays, $codeVille, $codeLocalite) ; + + $this->genererVueAjax(array('prestataires' => $prestataires)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxlisteprestataires.php b/Controleur_sav/ControleurAjaxlisteprestataires.php new file mode 100755 index 0000000..9fafda0 --- /dev/null +++ b/Controleur_sav/ControleurAjaxlisteprestataires.php @@ -0,0 +1,29 @@ +prestataire = new Prestataire(); + } + + public function index($nomsearch="") + { + if ($this->requete->existeParametre("valid")) + { + $nomsearch = $this->requete->getParametreFormulaire("nomsearch"); + $codePrestataire = $this->requete->getParametreFormulaire("codesearch"); + + $_SESSION['codePrestataire_C'] = $codePrestataire; + + $prestataires_pop = $this->prestataire->getprestatairelike($codePrestataire, $nomsearch); + } + else + { + $prestataires_pop = $this->prestataire->getprestatairesvide(); + } + $this->genererVueAjax(array('prestataires_pop' => $prestataires_pop, 'nomsearch' => $nomsearch, 'codePrestataire' => $codePrestataire)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxlisteprestatairesb.php b/Controleur_sav/ControleurAjaxlisteprestatairesb.php new file mode 100755 index 0000000..77739a6 --- /dev/null +++ b/Controleur_sav/ControleurAjaxlisteprestatairesb.php @@ -0,0 +1,29 @@ +prestataire = new Prestataire(); + } + + public function index($nomsearch="") + { + if ($this->requete->existeParametre("valid")) + { + $nomsearch = $this->requete->getParametreFormulaire("nomsearch"); + $codePrestataire = $this->requete->getParametreFormulaire("codesearch"); + + $_SESSION['codePrestataire_C'] = $codePrestataire; + + $prestataires_pop = $this->prestataire->getprestatairelike($codePrestataire, $nomsearch); + } + else + { + $prestataires_pop = $this->prestataire->getprestatairesvide(); + } + $this->genererVueAjax(array('prestataires_pop' => $prestataires_pop, 'nomsearch' => $nomsearch, 'codePrestataire' => $codePrestataire)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxlocalite.php b/Controleur_sav/ControleurAjaxlocalite.php new file mode 100755 index 0000000..92b0c9b --- /dev/null +++ b/Controleur_sav/ControleurAjaxlocalite.php @@ -0,0 +1,31 @@ +requete->getSession()->getAttribut('codeSociete'); + + $codePays = $this->requete->getParametreFormulaire("codePays"); + $codeVille = $this->requete->getParametreFormulaire("codeVille"); + + $listelocalite = (new Localite())->getListe($codePays, $codeVille); + $this->genererVueAjax(array('listelocalite' => $listelocalite)); + } + + public function consultation() + { + $codeSociete = $this->requete->getSession()->getAttribut('codeSociete'); + + $codePays = $this->requete->getParametreFormulaire("codePays"); + $codeVille = $this->requete->getParametreFormulaire("codeVille"); + + $listelocalite = (new Localite())->getListe($codePays, $codeVille); + $this->genererVueAjax(array('listelocalite' => $listelocalite)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxmailattente.php b/Controleur_sav/ControleurAjaxmailattente.php new file mode 100755 index 0000000..8dc570f --- /dev/null +++ b/Controleur_sav/ControleurAjaxmailattente.php @@ -0,0 +1,150 @@ +envoimail = new Envoimail(); + } + + public function index() + { + } + + public function ajouter() + { + $typeMail = $this->requete->getParametreFormulaire("typeMail"); + + if ($typeMail == 'mailhospitalisation') + { + $numeroBon = $this->requete->getParametreFormulaire("numeroBon"); + $numeroFeuilleMaladie = $this->requete->getParametreFormulaire("numeroFeuilleMaladie"); + + $this->envoimail->ajoutermailhospitalisation($typeMail, $numeroBon, $numeroFeuilleMaladie); + } + + if ($typeMail == 'mailfacturationfeuillemaladie') + { + $numeroFeuilleMaladie = $this->requete->getParametreFormulaire("numeroFeuilleMaladie"); + + $this->envoimail->ajoutermailfacturationfeuillemaladie($typeMail, $numeroFeuilleMaladie); + } + + if ($typeMail == 'mailpharmacie') + { + $numeroFeuilleMaladie = $this->requete->getParametreFormulaire("numeroFeuilleMaladie"); + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + + $this->envoimail->ajoutermailpharmacie($typeMail, $numeroFeuilleMaladie, $codePrestataire); + } + + if ($typeMail == 'maillabo') + { + $numeroFeuilleMaladie = $this->requete->getParametreFormulaire("numeroFeuilleMaladie"); + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + + $this->envoimail->ajoutermaillabo($typeMail, $numeroFeuilleMaladie, $codePrestataire); + } + + if ($typeMail == 'mailkine') + { + $numeroFeuilleMaladie = $this->requete->getParametreFormulaire("numeroFeuilleMaladie"); + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + + $this->envoimail->ajoutermailkine($typeMail, $numeroFeuilleMaladie, $codePrestataire); + } + + if ($typeMail == 'mailoptique') + { + $numeroFeuilleMaladie = $this->requete->getParametreFormulaire("numeroFeuilleMaladie"); + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + + $this->envoimail->ajoutermailoptique($typeMail, $numeroFeuilleMaladie, $codePrestataire); + } + + if ($typeMail == 'mailcommandebon') + { + $codeTypeBon = $this->requete->getParametreFormulaire("codeTypeBon"); + $quantite = $this->requete->getParametreFormulaire("quantite"); + $prestataire = $this->requete->getParametreFormulaire("prestataire"); + + $this->envoimail->ajoutermailcommandebon($typeMail, $codeTypeBon, $quantite, $prestataire); + } + + if ($typeMail == 'mailreceptionbon') + { + $codeTypeBon = $this->requete->getParametreFormulaire("codeTypeBon"); + $noDepart = $this->requete->getParametreFormulaire("noDepart"); + $noFin = $this->requete->getParametreFormulaire("noFin"); + $prestataire = $this->requete->getParametreFormulaire("prestataire"); + + $this->envoimail->ajoutermailreceptionbon($typeMail, $codeTypeBon, $noDepart, $noFin, $prestataire); + } + + if ($typeMail == 'maildemandeannulationbon') + { + $idBon = $this->requete->getParametreFormulaire("idBon"); + + $this->envoimail->ajoutermaildemandeannulationbon($typeMail, $idBon); + } + + if ($typeMail == 'maildemandederogation') + { + $codeDerogation = $this->requete->getParametreFormulaire("codeDerogation"); + $observations = $this->requete->getParametreFormulaire("observations"); + $prestataire = $this->requete->getParametreFormulaire("prestataire"); + $idBeneficiaire = $this->requete->getParametreFormulaire("idBeneficiaire"); + + $this->envoimail->ajoutermaildemandederogation($typeMail, $codeDerogation, $observations, $prestataire, $idBeneficiaire); + } + + + if ($typeMail == 'mailfraudeidentite') + { + $idBeneficiaire = $this->requete->getParametreFormulaire("idBeneficiaire"); + $prestataire = $this->requete->getParametreFormulaire("prestataire"); + + $this->envoimail->ajoutermailfraudeidentite($typeMail, $idBeneficiaire, $prestataire); + } + + if ($typeMail == 'mailententeprealable') + { + $numeroFeuilleMaladie = $this->requete->getParametreFormulaire("numeroFeuilleMaladie"); + $codeActe = $this->requete->getParametreFormulaire("codeActe"); + + $this->envoimail->ajoutermailententeprealable($typeMail, $numeroFeuilleMaladie, $codeActe); + } + + if ($typeMail == 'mailautorisation') + { + $numeroFeuilleMaladie = $this->requete->getParametreFormulaire("numeroFeuilleMaladie"); + $codeActe = $this->requete->getParametreFormulaire("codeActe"); + + $this->envoimail->ajoutermailautorisation($typeMail, $numeroFeuilleMaladie, $codeActe); + } + + if ($typeMail == 'mailententeprealablepha') + { + $idMedicament = $this->requete->getParametreFormulaire("idMedicament"); + + $this->envoimail->ajoutermailententeprealablepha($typeMail, $idMedicament); + } + + if ($typeMail == 'mailententeprealableopt') + { + $idOptique = $this->requete->getParametreFormulaire("idOptique"); + + $this->envoimail->ajoutermailententeprealableopt($typeMail, $idOptique); + } + + if ($typeMail == 'mailententeprealablemont') + { + $idOptique = $this->requete->getParametreFormulaire("idOptique"); + + $this->envoimail->ajoutermailententeprealablemont($typeMail, $idOptique); + } + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxmessagerie.php b/Controleur_sav/ControleurAjaxmessagerie.php new file mode 100755 index 0000000..0f89393 --- /dev/null +++ b/Controleur_sav/ControleurAjaxmessagerie.php @@ -0,0 +1,83 @@ +messagerie = new Messagerie(); + } + + public function index() + { + // Ajout du 26/10/2024 => déconnecter si session expirée + $deconnexion='0'; + $dureeSession = (isset($_SESSION['dureeSession'])) ? $_SESSION['dureeSession'] : 10; + $session_expiree = session_expiree($dureeSession); + if($session_expiree) + { + session_destroy(); + $deconnexion='1'; + } + + /* + var_dump + ( + array + ( + "session_expiree" => $session_expiree, + "time" => time(), + "dureeSession" => $_SESSION['dureeSession'], + "derniere_action" => $_SESSION['derniere_action'], + "codeSociete" => $_SESSION['codeSociete'], + "dureeSession*60" => $_SESSION['dureeSession']*60, + "time() - derniere_action" => time() - $_SESSION['derniere_action'] + ) + ); + */ + + if (!isset($_SESSION['codeSociete'])) + { + $deconnexion='1'; + } + + $_SESSION['deconnexion'] = $deconnexion; + + $this->genererVueAjax(array('deconnexion' => $deconnexion)); + + /* + $nbMessagesNonLus = $this->messagerie->countmessagesnonlus(); + + $this->genererVueAjax(array('nbMessagesNonLus' => $nbMessagesNonLus, + 'deconnexion' => $deconnexion)); + */ + } + + public function creermessage() + { + $textMessage = $this->requete->getParametreFormulaire("textMessage"); + $idParent = $this->requete->getParametreFormulaire("idParent"); + + $this->messagerie->creermessage($textMessage, $idParent); + } + + public function marquercommelu() + { + $idMessagerie = $this->requete->getParametreFormulaire("idMessagerie"); + + // $this->messagerie->marquercommelu($idMessagerie); + $this->messagerie->marquercommeluser($idMessagerie); + } + + + public function repondremessage() + { + $idMessagerie = $this->requete->getParametreFormulaire("idMessagerie"); + $idParent = $this->requete->getParametreFormulaire("idParent"); + $textMessage = $this->requete->getParametreFormulaire("textMessage"); + + $this->messagerie->repondremessage($idMessagerie, $idParent, $textMessage); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxmessageriehistorique.php b/Controleur_sav/ControleurAjaxmessageriehistorique.php new file mode 100755 index 0000000..c433cc7 --- /dev/null +++ b/Controleur_sav/ControleurAjaxmessageriehistorique.php @@ -0,0 +1,21 @@ +messagerie = new Messagerie(); + } + + public function index() + { + $idParent = $this->requete->getParametreFormulaire("idParent"); + + $messages = $this->messagerie->getmessageriehistorique($idParent) ; + + $this->genererVueAjax(array('messages' => $messages)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxmessagerieliste.php b/Controleur_sav/ControleurAjaxmessagerieliste.php new file mode 100755 index 0000000..bec168a --- /dev/null +++ b/Controleur_sav/ControleurAjaxmessagerieliste.php @@ -0,0 +1,38 @@ +messagerie = new Messagerie(); + } + + public function index() + { + $messagesnonlus = $this->messagerie->getmessagesnonlus(); + + $this->genererVueAjax(array('messagesnonlus' => $messagesnonlus)); + } + + public function marquercommelu() + { + $idMessagerie = $this->requete->getParametreFormulaire("idMessagerie"); + + // $this->messagerie->marquercommelu($idMessagerie); + $this->messagerie->marquercommeluser($idMessagerie); + + // $this->executerAction("index"); + } + + public function derniermessage() + { + // $derniermessage = $this->messagerie->getderniermessagenonlu(); + + $derniermessage = $this->messagerie->getderniermessagenonluuser(); + + $this->genererVueAjax(array('derniermessage' => $derniermessage)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxmessagerienew.php b/Controleur_sav/ControleurAjaxmessagerienew.php new file mode 100755 index 0000000..1ce198c --- /dev/null +++ b/Controleur_sav/ControleurAjaxmessagerienew.php @@ -0,0 +1,16 @@ +genererVueAjax(); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxmessageriereponse.php b/Controleur_sav/ControleurAjaxmessageriereponse.php new file mode 100755 index 0000000..9004a33 --- /dev/null +++ b/Controleur_sav/ControleurAjaxmessageriereponse.php @@ -0,0 +1,24 @@ +messagerie = new Messagerie(); + } + + public function index() + { + $idMessagerie = $this->requete->getParametreFormulaire("idMessagerie"); + $idParent = $this->requete->getParametreFormulaire("idParent"); + + $message_reponse = $this->messagerie->getmessageriesimple($idMessagerie, $idParent) ; + + $this->genererVueAjax(array('message_reponse' => $message_reponse)); + + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxnbrelignebaremecollege.php b/Controleur_sav/ControleurAjaxnbrelignebaremecollege.php new file mode 100755 index 0000000..93d274e --- /dev/null +++ b/Controleur_sav/ControleurAjaxnbrelignebaremecollege.php @@ -0,0 +1,63 @@ +garantie = new Garantiesbaremepriseencharge(); + } + + public function index() + { + + $this->genererVueAjax(); + } + + + public function garantiesbaremepriseencharge() + { + $table = $this->requete->getParametreFormulaire("table"); + + $nbgarantie = $this->garantie->getNbreLigneBareme($table); + + $this->genererVueAjax(array('nbgarantie'=>$nbgarantie)); + } + + public function garantiesbaremepriseenchargelienparente() + { + $table = $this->requete->getParametreFormulaire("table"); + + $nbgarantieLien = $this->garantie->getNbreLigneBareme($table); + + $this->genererVueAjax(array('nbgarantieLien'=>$nbgarantieLien)); + } + + public function actesbaremepriseencharge() + { + $table = $this->requete->getParametreFormulaire("table"); + + $nbacte = $this->garantie->getNbreLigneBareme($table); + + $this->genererVueAjax(array('nbacte'=>$nbacte)); + } + + public function actesbaremepriseenchargelienparente() + { + $table = $this->requete->getParametreFormulaire("table"); + + $nbacteLien = $this->garantie->getNbreLigneBareme($table); + + $this->genererVueAjax(array('nbacteLien'=>$nbacteLien)); + } + + public function detailbareme() + { + $table = $this->requete->getParametreFormulaire("table"); + + $nbdetail = $this->garantie->getNbreLigneBareme($table); + + $this->genererVueAjax(array('nbdetail'=>$nbdetail)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxnotesbeneficiaire.php b/Controleur_sav/ControleurAjaxnotesbeneficiaire.php new file mode 100755 index 0000000..3bb8653 --- /dev/null +++ b/Controleur_sav/ControleurAjaxnotesbeneficiaire.php @@ -0,0 +1,22 @@ +feuillemaladie = new Feuillemaladie(); + } + + public function index() + { + $idBeneficiaire = $_SESSION['idBeneficiaire_C']; + + $notesfeuillemaladie = $this->feuillemaladie->getnotesBeneficiaire($idBeneficiaire); + + $this->genererVueAjax(array('notesfeuillemaladie' => $notesfeuillemaladie)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxnotesfeuillemaladie.php b/Controleur_sav/ControleurAjaxnotesfeuillemaladie.php new file mode 100755 index 0000000..9a05873 --- /dev/null +++ b/Controleur_sav/ControleurAjaxnotesfeuillemaladie.php @@ -0,0 +1,36 @@ +feuillemaladie = new Feuillemaladie(); + } + + public function index() + { + $numeroFeuilleMaladie = $_SESSION['numeroFeuilleMaladie_C']; + + $notesfeuillemaladie = $this->feuillemaladie->getnotesfeuillemaladie($numeroFeuilleMaladie); + + $this->genererVueAjax(array('notesfeuillemaladie' => $notesfeuillemaladie)); + } + + public function nouvellenote() + { + $this->genererVueAjax(); + } + + public function creernote() + { + $numeroFeuilleMaladie = $_SESSION['numeroFeuilleMaladie_C']; + $notesNew = $this->requete->getParametreFormulaire("notesNew"); + + $this->feuillemaladie->creernote($numeroFeuilleMaladie, $notesNew); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxplafondadherent.php b/Controleur_sav/ControleurAjaxplafondadherent.php new file mode 100755 index 0000000..4227d99 --- /dev/null +++ b/Controleur_sav/ControleurAjaxplafondadherent.php @@ -0,0 +1,24 @@ +garantieadherent = new Garantieadherent(); + } + + public function index() + { + $idAdherent = $_SESSION['idAdherent_C']; + + $idEntetecontrat = $this->requete->getParametreFormulaire("idEntetecontrat"); + + $garantieadherents = $this->garantieadherent->getGarantieAdherentEnteteContrat($idAdherent, $idEntetecontrat); + + $this->genererVueAjax(array('garantieadherents' => $garantieadherents)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxplafondbeneficiaire.php b/Controleur_sav/ControleurAjaxplafondbeneficiaire.php new file mode 100755 index 0000000..26a1e71 --- /dev/null +++ b/Controleur_sav/ControleurAjaxplafondbeneficiaire.php @@ -0,0 +1,25 @@ +garantieadherent = new Garantieadherent(); + } + + public function index() + { + $idAdherent = $_SESSION['idAdherent_C']; + $idBeneficiaire = $_SESSION['idBeneficiaire_C']; + + $idEntetecontrat = $this->requete->getParametreFormulaire("idEntetecontrat"); + + $garantieadherents = $this->garantieadherent->getGarantieBeneficiaireEnteteContrat($idBeneficiaire, $idEntetecontrat); + + $this->genererVueAjax(array('garantieadherents' => $garantieadherents)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxrequeteentetefacture.php b/Controleur_sav/ControleurAjaxrequeteentetefacture.php new file mode 100755 index 0000000..611481f --- /dev/null +++ b/Controleur_sav/ControleurAjaxrequeteentetefacture.php @@ -0,0 +1,17 @@ +ouinonfacture = (new Ouinon())->getListe(); + $this->ouinonhospit = (new Ouinon())->getListe(); + $this->ouinonchirurgie = (new Ouinon())->getListe(); + } + + public function index() { + $this->genererVueAjax(array('ouinonhospit' => $this->ouinonhospit, 'ouinonchirurgie' => $this->ouinonchirurgie)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxrequeteentetefeuillemaladie.php b/Controleur_sav/ControleurAjaxrequeteentetefeuillemaladie.php new file mode 100755 index 0000000..735ed0f --- /dev/null +++ b/Controleur_sav/ControleurAjaxrequeteentetefeuillemaladie.php @@ -0,0 +1,21 @@ +raison = (new Raisonconsultation())->getListe(); + $this->ouinonfacture = (new Ouinon())->getListe(); + $this->ouinonhospit = (new Ouinon())->getListe(); + $this->ouinonchirurgie = (new Ouinon())->getListe(); + } + + public function index() { + $this->genererVueAjax(array('raison' => $this->raison, 'ouinonfacture' => $this->ouinonfacture, + 'ouinonhospit' => $this->ouinonhospit, 'ouinonchirurgie' => $this->ouinonchirurgie)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxrequeteenteteoptique.php b/Controleur_sav/ControleurAjaxrequeteenteteoptique.php new file mode 100755 index 0000000..6380c87 --- /dev/null +++ b/Controleur_sav/ControleurAjaxrequeteenteteoptique.php @@ -0,0 +1,15 @@ +prestataireprescription = (new Prestataire())->getListeTypePrestataire("CSO"); + } + + public function index() { + $this->genererVueAjax(array('prestataireprescription' => $this->prestataireprescription)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxrequeteentetepharmacie.php b/Controleur_sav/ControleurAjaxrequeteentetepharmacie.php new file mode 100755 index 0000000..a7f0785 --- /dev/null +++ b/Controleur_sav/ControleurAjaxrequeteentetepharmacie.php @@ -0,0 +1,15 @@ +prestataireprescription = (new Prestataire())->getListeTypePrestataire("CSO"); + } + + public function index() { + $this->genererVueAjax(array('prestataireprescription' => $this->prestataireprescription)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxrequeteentetepharmacieb.php b/Controleur_sav/ControleurAjaxrequeteentetepharmacieb.php new file mode 100755 index 0000000..a4e4df3 --- /dev/null +++ b/Controleur_sav/ControleurAjaxrequeteentetepharmacieb.php @@ -0,0 +1,15 @@ +prestataireprescription = (new Prestataire())->getListeTypePrestataire("CSO"); + } + + public function index() { + $this->genererVueAjax(array('prestataireprescription' => $this->prestataireprescription)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxrequeteenteteprestationactes.php b/Controleur_sav/ControleurAjaxrequeteenteteprestationactes.php new file mode 100755 index 0000000..23d906e --- /dev/null +++ b/Controleur_sav/ControleurAjaxrequeteenteteprestationactes.php @@ -0,0 +1,22 @@ +typeprestation = (new Typeprestation())->getListe(); + $this->ouinonfacture = (new Ouinon())->getListe(); + $this->reponseententeprealable = (new Reponseententeprealable())->getListe(); + } + + public function index() { + $this->genererVueAjax(array('typeprestation' => $this->typeprestation, 'ouinonfacture' => $this->ouinonfacture, + 'reponseententeprealable' => $this->reponseententeprealable)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxrequetefacture.php b/Controleur_sav/ControleurAjaxrequetefacture.php new file mode 100755 index 0000000..106f127 --- /dev/null +++ b/Controleur_sav/ControleurAjaxrequetefacture.php @@ -0,0 +1,66 @@ +facture = new Facture(); + } + + public function index() + { + // Ligne 1 + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $dateFacture1 = $this->requete->getParametreDate("dateFacture1"); + $dateFacture2 = $this->requete->getParametreDate("dateFacture2"); + $numeroAdherent = $this->requete->getParametreFormulaire("numeroAdherent"); + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + + // Ligne 2 + $numeroBonConsultation1 = $this->requete->getParametreFormulaire("numeroBonConsultation1"); + $numeroBonConsultation2 = $this->requete->getParametreFormulaire("numeroBonConsultation2"); + + $numeroBonOrdonnance1 = $this->requete->getParametreFormulaire("numeroBonOrdonnance1"); + $numeroBonOrdonnance2 = $this->requete->getParametreFormulaire("numeroBonOrdonnance2"); + + $numeroBonHospitalisation1 = $this->requete->getParametreFormulaire("numeroBonHospitalisation1"); + $numeroBonHospitalisation2 = $this->requete->getParametreFormulaire("numeroBonHospitalisation2"); + + $numeroBonOptique1 = $this->requete->getParametreFormulaire("numeroBonOptique1"); + $numeroBonOptique2 = $this->requete->getParametreFormulaire("numeroBonOptique2"); + + // Ligne 3 + $codeTypePrestataire = $this->requete->getParametreFormulaire("codeTypePrestataire"); + + $numeroDecompte1 = $this->requete->getParametreFormulaire("numeroDecompte1"); + $numeroDecompte2 = $this->requete->getParametreFormulaire("numeroDecompte2"); + + $hospitalisation = $this->requete->getParametreFormulaire("hospitalisation"); + $numeroChambre = $this->requete->getParametreFormulaire("numeroChambre"); + $chirurgie = $this->requete->getParametreFormulaire("chirurgie"); + + // Ligne 4 + $adherent = $this->requete->getParametreFormulaire("adherent"); + $beneficiaire = $this->requete->getParametreFormulaire("beneficiaire"); + + // FIN Champs + + $_SESSION['codePrestataire_C'] = $codePrestataire; + + $_SESSION['debutRequeteFr_C'] = $this->requete->getParametreFormulaire("dateFacture1"); + $_SESSION['finRequeteFr_C'] = $this->requete->getParametreFormulaire("dateFacture2"); + + $factures = $this->facture->requetesfacture($codePrestataire, $dateFacture1, $dateFacture2, $numeroAdherent, $numeroBeneficiaire, + $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOrdonnance1, $numeroBonOrdonnance2, $numeroBonHospitalisation1, $numeroBonHospitalisation2, $numeroBonOptique1, $numeroBonOptique2, + $codeTypePrestataire, $numeroDecompte1, $numeroDecompte2, $hospitalisation, $numeroChambre, $chirurgie, $adherent, $beneficiaire) ; + + $factures_total = $this->facture->requetesfacturetotal($codePrestataire, $dateFacture1, $dateFacture2, $numeroAdherent, $numeroBeneficiaire, + $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOrdonnance1, $numeroBonOrdonnance2, $numeroBonHospitalisation1, $numeroBonHospitalisation2, $numeroBonOptique1, $numeroBonOptique2, + $codeTypePrestataire, $numeroDecompte1, $numeroDecompte2, $hospitalisation, $numeroChambre, $chirurgie, $adherent, $beneficiaire) ; + + $this->genererVueAjax(array('factures' => $factures, 'factures_total' => $factures_total)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxrequetefactureexport.php b/Controleur_sav/ControleurAjaxrequetefactureexport.php new file mode 100755 index 0000000..87480b3 --- /dev/null +++ b/Controleur_sav/ControleurAjaxrequetefactureexport.php @@ -0,0 +1,138 @@ +facture = new Facture(); + } + + public function index() + { + // Ligne 1 + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $dateFacture1 = $this->requete->getParametreDate("dateFacture1"); + $dateFacture2 = $this->requete->getParametreDate("dateFacture2"); + $numeroAdherent = $this->requete->getParametreFormulaire("numeroAdherent"); + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + + // Ligne 2 + $numeroBonConsultation1 = $this->requete->getParametreFormulaire("numeroBonConsultation1"); + $numeroBonConsultation2 = $this->requete->getParametreFormulaire("numeroBonConsultation2"); + + $numeroBonOrdonnance1 = $this->requete->getParametreFormulaire("numeroBonOrdonnance1"); + $numeroBonOrdonnance2 = $this->requete->getParametreFormulaire("numeroBonOrdonnance2"); + + $numeroBonHospitalisation1 = $this->requete->getParametreFormulaire("numeroBonHospitalisation1"); + $numeroBonHospitalisation2 = $this->requete->getParametreFormulaire("numeroBonHospitalisation2"); + + $numeroBonOptique1 = $this->requete->getParametreFormulaire("numeroBonOptique1"); + $numeroBonOptique2 = $this->requete->getParametreFormulaire("numeroBonOptique2"); + + // Ligne 3 + $codeTypePrestataire = $this->requete->getParametreFormulaire("codeTypePrestataire"); + + $numeroDecompte1 = $this->requete->getParametreFormulaire("numeroDecompte1"); + $numeroDecompte2 = $this->requete->getParametreFormulaire("numeroDecompte2"); + + $hospitalisation = $this->requete->getParametreFormulaire("hospitalisation"); + $numeroChambre = $this->requete->getParametreFormulaire("numeroChambre"); + $chirurgie = $this->requete->getParametreFormulaire("chirurgie"); + + // Ligne 4 + $adherent = $this->requete->getParametreFormulaire("adherent"); + $beneficiaire = $this->requete->getParametreFormulaire("beneficiaire"); + + // FIN Champs + + $_SESSION['codePrestataire_C'] = $codePrestataire; + + $_SESSION['debutRequeteFr_C'] = $this->requete->getParametreFormulaire("dateFacture1"); + $_SESSION['finRequeteFr_C'] = $this->requete->getParametreFormulaire("dateFacture2"); + + $factures = $this->facture->requetesfactureexport($codePrestataire, $dateFacture1, $dateFacture2, $numeroAdherent, $numeroBeneficiaire, + $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOrdonnance1, $numeroBonOrdonnance2, $numeroBonHospitalisation1, $numeroBonHospitalisation2, $numeroBonOptique1, $numeroBonOptique2, + $codeTypePrestataire, $numeroDecompte1, $numeroDecompte2, $hospitalisation, $numeroChambre, $chirurgie, $adherent, $beneficiaire) ; + + // Excel + /* + $headerXLS = array( + 'prestataire', + 'dateSysteme', + 'NoAdherent', + 'adherent', + 'NoBeneficiaire', + 'beneficiaire', + 'NoFeuille', + 'dateFacture', + 'NoBonCons', + 'NoBonOrd', + 'NoBonHosp', + 'NoBonOpt', + 'fraisReel', + 'TM', + 'Arembourser', + 'Exclu', + 'Retenu', + 'MtForce', + 'Redresse', + 'Apayer', + 'Paye', + 'Rembourse', + 'hospitalisation', + 'Hospit', + 'chirurgie', + 'NoDecompte', + 'valide', + 'regle', + 'login'); + */ + + $headerXLS = array( + 'prestataire', + 'NoAdherent', + 'adherent', + 'NoBeneficiaire', + 'beneficiaire', + 'dateFacture', + 'NoBon', + 'fraisReel', + 'TM', + 'Arembourser', + 'Depass', + 'Retenu'); + + $dataXLS = array(); + + + foreach ($factures as $facture) + { + $dataXLS[]=$facture; + } + + + $classeur = new PHPExcel(); + $classeur->getProperties()->setCreator("INTER-SANTE"); + $classeur->setActiveSheetIndex(0); + $feuille=$classeur->getActiveSheet(); + $feuille->setTitle('FACTURES MEDICARE'); + $feuille->fromArray($headerXLS, NULL, 'A1', true); + $feuille->fromArray($dataXLS, NULL, 'A2', true); + + //Forcer le téléchargement vers le navigateur; + $fichier = 'Temp/FACTURES_MEDICARE'."_".uniqid().".xlsx"; + + $writer = new PHPExcel_Writer_Excel2007($classeur); + $writer->save($fichier); + + $t_html ='
'; + $t_html .=' TELECHARGER FACTURES MEDICARE AU FORMAT EXCEL / DONWLOAD RESULTS '; + $t_html .='
feuillemaladie = new Feuillemaladie(); + } + + public function index() + { + // Ligne 1 + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $dateConsultation1 = $this->requete->getParametreDate("dateConsultation1"); + $dateConsultation2 = $this->requete->getParametreDate("dateConsultation2"); + $numeroAdherent = $this->requete->getParametreFormulaire("numeroAdherent"); + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + + // Ligne 2 + $codeMedecin = $this->requete->getParametreFormulaire("codeMedecin"); + + $numeroBonConsultation1 = $this->requete->getParametreFormulaire("numeroBonConsultation1"); + $numeroBonConsultation2 = $this->requete->getParametreFormulaire("numeroBonConsultation2"); + + $numeroBonOrdonnance1 = $this->requete->getParametreFormulaire("numeroBonOrdonnance1"); + $numeroBonOrdonnance2 = $this->requete->getParametreFormulaire("numeroBonOrdonnance2"); + + $numeroBonHospitalisation1 = $this->requete->getParametreFormulaire("numeroBonHospitalisation1"); + $numeroBonHospitalisation2 = $this->requete->getParametreFormulaire("numeroBonHospitalisation2"); + + $numeroBonOptique1 = $this->requete->getParametreFormulaire("numeroBonOptique1"); + $numeroBonOptique2 = $this->requete->getParametreFormulaire("numeroBonOptique2"); + + // Ligne 3 + $codeTypePrestataire = $this->requete->getParametreFormulaire("codeTypePrestataire"); + + $numeroDecompte1 = $this->requete->getParametreFormulaire("numeroDecompte1"); + $numeroDecompte2 = $this->requete->getParametreFormulaire("numeroDecompte2"); + + $codeRaisonConsultation = $this->requete->getParametreFormulaire("codeRaisonConsultation"); + $hospitalisation = $this->requete->getParametreFormulaire("hospitalisation"); + $numeroChambre = $this->requete->getParametreFormulaire("numeroChambre"); + $chirurgie = $this->requete->getParametreFormulaire("chirurgie"); + $facture = $this->requete->getParametreFormulaire("facture"); + + // Ligne 4 + $adherent = $this->requete->getParametreFormulaire("adherent"); + $beneficiaire = $this->requete->getParametreFormulaire("beneficiaire"); + + // FIN Champs + + $_SESSION['codePrestataire_C'] = $codePrestataire; + + $_SESSION['debutRequeteFr_C'] = $this->requete->getParametreFormulaire("dateConsultation1"); + $_SESSION['finRequeteFr_C'] = $this->requete->getParametreFormulaire("dateConsultation2"); + + $feuillemaladies = $this->feuillemaladie->requetesfeuillesmaladie($codePrestataire, $dateConsultation1, $dateConsultation2, $numeroAdherent, $numeroBeneficiaire, + $codeMedecin, $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOrdonnance1, $numeroBonOrdonnance2, $numeroBonHospitalisation1, $numeroBonHospitalisation2, $numeroBonOptique1, $numeroBonOptique2, + $codeTypePrestataire, $numeroDecompte1, $numeroDecompte2, $codeRaisonConsultation, $hospitalisation, $numeroChambre, $chirurgie, $facture, $adherent, $beneficiaire) ; + + $feuillemaladies_total = $this->feuillemaladie->requetesfeuillesmaladietotal($codePrestataire, $dateConsultation1, $dateConsultation2, $numeroAdherent, $numeroBeneficiaire, + $codeMedecin, $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOrdonnance1, $numeroBonOrdonnance2, $numeroBonHospitalisation1, $numeroBonHospitalisation2, $numeroBonOptique1, $numeroBonOptique2, + $codeTypePrestataire, $numeroDecompte1, $numeroDecompte2, $codeRaisonConsultation, $hospitalisation, $numeroChambre, $chirurgie, $facture, $adherent, $beneficiaire) ; + + $this->genererVueAjax(array('feuillemaladies' => $feuillemaladies, 'feuillemaladies_total' => $feuillemaladies_total)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxrequetefeuillemaladieexport.php b/Controleur_sav/ControleurAjaxrequetefeuillemaladieexport.php new file mode 100755 index 0000000..d53d5ca --- /dev/null +++ b/Controleur_sav/ControleurAjaxrequetefeuillemaladieexport.php @@ -0,0 +1,134 @@ +feuillemaladie = new Feuillemaladie(); + } + + public function index() + { + // Ligne 1 + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $dateConsultation1 = $this->requete->getParametreDate("dateConsultation1"); + $dateConsultation2 = $this->requete->getParametreDate("dateConsultation2"); + $numeroAdherent = $this->requete->getParametreFormulaire("numeroAdherent"); + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + + // Ligne 2 + $codeMedecin = $this->requete->getParametreFormulaire("codeMedecin"); + + $numeroBonConsultation1 = $this->requete->getParametreFormulaire("numeroBonConsultation1"); + $numeroBonConsultation2 = $this->requete->getParametreFormulaire("numeroBonConsultation2"); + + $numeroBonOrdonnance1 = $this->requete->getParametreFormulaire("numeroBonOrdonnance1"); + $numeroBonOrdonnance2 = $this->requete->getParametreFormulaire("numeroBonOrdonnance2"); + + $numeroBonHospitalisation1 = $this->requete->getParametreFormulaire("numeroBonHospitalisation1"); + $numeroBonHospitalisation2 = $this->requete->getParametreFormulaire("numeroBonHospitalisation2"); + + $numeroBonOptique1 = $this->requete->getParametreFormulaire("numeroBonOptique1"); + $numeroBonOptique2 = $this->requete->getParametreFormulaire("numeroBonOptique2"); + + // Ligne 3 + $codeTypePrestataire = $this->requete->getParametreFormulaire("codeTypePrestataire"); + + $numeroDecompte1 = $this->requete->getParametreFormulaire("numeroDecompte1"); + $numeroDecompte2 = $this->requete->getParametreFormulaire("numeroDecompte2"); + + $codeRaisonConsultation = $this->requete->getParametreFormulaire("codeRaisonConsultation"); + $hospitalisation = $this->requete->getParametreFormulaire("hospitalisation"); + $numeroChambre = $this->requete->getParametreFormulaire("numeroChambre"); + $chirurgie = $this->requete->getParametreFormulaire("chirurgie"); + $facture = $this->requete->getParametreFormulaire("facture"); + + // Ligne 4 + $adherent = $this->requete->getParametreFormulaire("adherent"); + $beneficiaire = $this->requete->getParametreFormulaire("beneficiaire"); + + // FIN Champs + + $_SESSION['codePrestataire_C'] = $codePrestataire; + + $_SESSION['debutRequeteFr_C'] = $this->requete->getParametreFormulaire("dateConsultation1"); + $_SESSION['finRequeteFr_C'] = $this->requete->getParametreFormulaire("dateConsultation2"); + + $feuillemaladies = $this->feuillemaladie->requetesfeuillesmaladieexport($codePrestataire, $dateConsultation1, $dateConsultation2, $numeroAdherent, $numeroBeneficiaire, + $codeMedecin, $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOrdonnance1, $numeroBonOrdonnance2, $numeroBonHospitalisation1, $numeroBonHospitalisation2, $numeroBonOptique1, $numeroBonOptique2, + $codeTypePrestataire, $numeroDecompte1, $numeroDecompte2, $codeRaisonConsultation, $hospitalisation, $numeroChambre, $chirurgie, $facture, $adherent, $beneficiaire) ; + + // Excel + $headerXLS = array( + 'prestataire', + 'dateSysteme', + 'Medecin', + 'NoMedecin', + 'NoAdherent', + 'adherent', + 'NoBeneficiaire', + 'beneficiaire', + 'NoFeuille', + 'dateConsultation', + 'NoBonCons', + 'NoBonOrd', + 'NoBonHosp', + 'NoBonOpt', + 'fraisReel', + 'TxTM', + 'TM', + 'Arembourser', + 'Exclu', + 'Retenu', + 'MtForce', + 'Redresse', + 'Apayer', + 'Paye', + 'Rembourse', + 'facture', + 'NoDerog_Reseau', + 'NoDerog_Fing', + 'hospitalisation', + 'Hospit', + 'chirurgie', + 'raisonconsultation', + 'NoDecompte', + 'valide', + 'regle', + 'login'); + + $dataXLS = array(); + + + foreach ($feuillemaladies as $feuillemaladie) + { + $dataXLS[]=$feuillemaladie; + } + + + $classeur = new PHPExcel(); + $classeur->getProperties()->setCreator("INTER-SANTE"); + $classeur->setActiveSheetIndex(0); + $feuille=$classeur->getActiveSheet(); + $feuille->setTitle('FEUILLES MALADIE'); + $feuille->fromArray($headerXLS, NULL, 'A1', true); + $feuille->fromArray($dataXLS, NULL, 'A2', true); + + //Forcer le téléchargement vers le navigateur; + $fichier = 'Temp/FEUILLES_MALADIE'."_".uniqid().".xlsx"; + + $writer = new PHPExcel_Writer_Excel2007($classeur); + $writer->save($fichier); + + $t_html ='
'; + $t_html .=' TELECHARGER FEUILLES MALADIES AU FORMAT EXCEL / DONWLOAD RESULTS '; + $t_html .='
opticiens = new Opticiens(); + } + + public function index() + { + // Ligne 1 + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $dateLivraison1 = $this->requete->getParametreDate("dateLivraison1"); + $dateLivraison2 = $this->requete->getParametreDate("dateLivraison2"); + $numeroAdherent = $this->requete->getParametreFormulaire("numeroAdherent"); + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + + // Ligne 2 + $codeMedecin = $this->requete->getParametreFormulaire("codeMedecin"); + + $numeroBonConsultation1 = $this->requete->getParametreFormulaire("numeroBonConsultation1"); + $numeroBonConsultation2 = $this->requete->getParametreFormulaire("numeroBonConsultation2"); + + $numeroBonOptique1 = $this->requete->getParametreFormulaire("numeroBonOptique1"); + $numeroBonOptique2 = $this->requete->getParametreFormulaire("numeroBonOptique2"); + + $numeroFeuilleMaladie1 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie1"); + $numeroFeuilleMaladie2 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie2"); + + $codePrestatairePrescription= $this->requete->getParametreFormulaire("codePrestatairePrescription"); + + // Ligne 3 + $adherent = $this->requete->getParametreFormulaire("adherent"); + $beneficiaire = $this->requete->getParametreFormulaire("beneficiaire"); + + // Ligne 4 + $libelleOptique = $this->requete->getParametreFormulaire("libelleOptique"); + + // FIN Champs + + $_SESSION['codePrestataire_C'] = $codePrestataire; + + $_SESSION['debutRequeteFr_C'] = $this->requete->getParametreFormulaire("dateLivraison1"); + $_SESSION['finRequeteFr_C'] = $this->requete->getParametreFormulaire("dateLivraison2"); + + $opticiens = $this->opticiens->requetesoptique($codePrestataire, $dateLivraison1, $dateLivraison2, $numeroAdherent, $numeroBeneficiaire, $codeMedecin, + $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOptique1, $numeroBonOptique2, $numeroFeuilleMaladie1, $numeroFeuilleMaladie2, + $codePrestatairePrescription, $adherent, $beneficiaire, $libelleOptique); + + $opticiens_total = $this->opticiens->requetesoptiquetotal($codePrestataire, $dateLivraison1, $dateLivraison2, $numeroAdherent, $numeroBeneficiaire, $codeMedecin, + $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOptique1, $numeroBonOptique2, $numeroFeuilleMaladie1, $numeroFeuilleMaladie2, + $codePrestatairePrescription, $adherent, $beneficiaire, $libelleOptique); + + $this->genererVueAjax(array('opticiens' => $opticiens, 'opticiens_total' => $opticiens_total)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxrequeteoptiqueexport.php b/Controleur_sav/ControleurAjaxrequeteoptiqueexport.php new file mode 100755 index 0000000..e3d3f4a --- /dev/null +++ b/Controleur_sav/ControleurAjaxrequeteoptiqueexport.php @@ -0,0 +1,112 @@ +opticiens = new Opticiens(); + } + + public function index() + { + // Ligne 1 + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $dateLivraison1 = $this->requete->getParametreDate("dateLivraison1"); + $dateLivraison2 = $this->requete->getParametreDate("dateLivraison2"); + $numeroAdherent = $this->requete->getParametreFormulaire("numeroAdherent"); + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + + // Ligne 2 + $codeMedecin = $this->requete->getParametreFormulaire("codeMedecin"); + + $numeroBonConsultation1 = $this->requete->getParametreFormulaire("numeroBonConsultation1"); + $numeroBonConsultation2 = $this->requete->getParametreFormulaire("numeroBonConsultation2"); + + $numeroBonOptique1 = $this->requete->getParametreFormulaire("numeroBonOptique1"); + $numeroBonOptique2 = $this->requete->getParametreFormulaire("numeroBonOptique2"); + + $numeroFeuilleMaladie1 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie1"); + $numeroFeuilleMaladie2 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie2"); + + $codePrestatairePrescription= $this->requete->getParametreFormulaire("codePrestatairePrescription"); + + // Ligne 3 + $adherent = $this->requete->getParametreFormulaire("adherent"); + $beneficiaire = $this->requete->getParametreFormulaire("beneficiaire"); + + // Ligne 4 + $libelleOptique = $this->requete->getParametreFormulaire("libelleOptique"); + + // FIN Champs + + $_SESSION['codePrestataire_C'] = $codePrestataire; + + $_SESSION['debutRequeteFr_C'] = $this->requete->getParametreFormulaire("dateLivraison1"); + $_SESSION['finRequeteFr_C'] = $this->requete->getParametreFormulaire("dateLivraison2"); + + $opticiens = $this->opticiens->requetesoptiqueexport($codePrestataire, $dateLivraison1, $dateLivraison2, $numeroAdherent, $numeroBeneficiaire, $codeMedecin, + $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOptique1, $numeroBonOptique2, $numeroFeuilleMaladie1, $numeroFeuilleMaladie2, + $codePrestatairePrescription, $adherent, $beneficiaire, $libelleOptique); + + // Excel + $headerXLS = array( + 'prestataire', + 'dateSysteme', + 'NoAdherent', + 'adherent', + 'NoBeneficiaire', + 'beneficiaire', + 'idPrestation', + 'NoBonOpt', + 'NoFeuille', + 'NoBonCons', + 'typeVerres', + 'verres', + 'monture', + 'fraisReel', + 'TM', + 'Arembourser', + 'Exclu', + 'Retenu', + 'MtForce', + 'Apayer', + 'valide', + 'Redresse', + 'prestatairePrescription', + 'medecinPrescription', + 'NoMedecin'); + + $dataXLS = array(); + + + foreach ($opticiens as $opticien) + { + $dataXLS[]=$opticien; + } + + + $classeur = new PHPExcel(); + $classeur->getProperties()->setCreator("INTER-SANTE"); + $classeur->setActiveSheetIndex(0); + $feuille=$classeur->getActiveSheet(); + $feuille->setTitle('ACTES OPTIQUES MEDICARE'); + $feuille->fromArray($headerXLS, NULL, 'A1', true); + $feuille->fromArray($dataXLS, NULL, 'A2', true); + + //Forcer le téléchargement vers le navigateur; + $fichier = 'Temp/ACTES_OPTIQUES_MEDICARE'."_".uniqid().".xlsx"; + + $writer = new PHPExcel_Writer_Excel2007($classeur); + $writer->save($fichier); + + $t_html ='
'; + $t_html .=' TELECHARGER ACTES OPTIQUES MEDICARE AU FORMAT EXCEL / DONWLOAD RESULTS '; + $t_html .='
pharmacie = new Pharmacie(); + } + + public function index() + { + // Ligne 1 + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $dateLivraison1 = $this->requete->getParametreDate("dateLivraison1"); + $dateLivraison2 = $this->requete->getParametreDate("dateLivraison2"); + $numeroAdherent = $this->requete->getParametreFormulaire("numeroAdherent"); + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + + // Ligne 2 + $codeMedecin = $this->requete->getParametreFormulaire("codeMedecin"); + + $numeroBonConsultation1 = $this->requete->getParametreFormulaire("numeroBonConsultation1"); + $numeroBonConsultation2 = $this->requete->getParametreFormulaire("numeroBonConsultation2"); + + $numeroBonOrdonnance1 = $this->requete->getParametreFormulaire("numeroBonOrdonnance1"); + $numeroBonOrdonnance2 = $this->requete->getParametreFormulaire("numeroBonOrdonnance2"); + + $numeroFeuilleMaladie1 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie1"); + $numeroFeuilleMaladie2 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie2"); + + $codePrestatairePrescription= $this->requete->getParametreFormulaire("codePrestatairePrescription"); + + // Ligne 3 + $adherent = $this->requete->getParametreFormulaire("adherent"); + $beneficiaire = $this->requete->getParametreFormulaire("beneficiaire"); + + // Ligne 4 + $libelleMedicament = $this->requete->getParametreFormulaire("libelleMedicament"); + + // FIN Champs + + $_SESSION['codePrestataire_C'] = $codePrestataire; + + $_SESSION['debutRequeteFr_C'] = $this->requete->getParametreFormulaire("dateLivraison1"); + $_SESSION['finRequeteFr_C'] = $this->requete->getParametreFormulaire("dateLivraison2"); + + $pharmacies = $this->pharmacie->requetespharmacie($codePrestataire, $dateLivraison1, $dateLivraison2, $numeroAdherent, $numeroBeneficiaire, $codeMedecin, + $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOrdonnance1, $numeroBonOrdonnance2, $numeroFeuilleMaladie1, $numeroFeuilleMaladie2, + $codePrestatairePrescription, $adherent, $beneficiaire, $libelleMedicament); + + $pharmacies_total = $this->pharmacie->requetespharmacietotal($codePrestataire, $dateLivraison1, $dateLivraison2, $numeroAdherent, $numeroBeneficiaire, $codeMedecin, + $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOrdonnance1, $numeroBonOrdonnance2, $numeroFeuilleMaladie1, $numeroFeuilleMaladie2, + $codePrestatairePrescription, $adherent, $beneficiaire, $libelleMedicament); + + $this->genererVueAjax(array('pharmacies' => $pharmacies, 'pharmacies_total' => $pharmacies_total)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxrequetepharmacieb.php b/Controleur_sav/ControleurAjaxrequetepharmacieb.php new file mode 100755 index 0000000..4076306 --- /dev/null +++ b/Controleur_sav/ControleurAjaxrequetepharmacieb.php @@ -0,0 +1,60 @@ +pharmacie = new Pharmacie(); + } + + public function index() + { + // Ligne 1 + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $dateLivraison1 = $this->requete->getParametreDate("dateLivraison1"); + $dateLivraison2 = $this->requete->getParametreDate("dateLivraison2"); + $numeroAdherent = $this->requete->getParametreFormulaire("numeroAdherent"); + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + + // Ligne 2 + $codeMedecin = $this->requete->getParametreFormulaire("codeMedecin"); + + $numeroBonConsultation1 = $this->requete->getParametreFormulaire("numeroBonConsultation1"); + $numeroBonConsultation2 = $this->requete->getParametreFormulaire("numeroBonConsultation2"); + + $numeroBonOrdonnance1 = $this->requete->getParametreFormulaire("numeroBonOrdonnance1"); + $numeroBonOrdonnance2 = $this->requete->getParametreFormulaire("numeroBonOrdonnance2"); + + $numeroFeuilleMaladie1 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie1"); + $numeroFeuilleMaladie2 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie2"); + + $codePrestatairePrescription= $this->requete->getParametreFormulaire("codePrestatairePrescription"); + + // Ligne 3 + $adherent = $this->requete->getParametreFormulaire("adherent"); + $beneficiaire = $this->requete->getParametreFormulaire("beneficiaire"); + + // Ligne 4 + $libelleMedicament = $this->requete->getParametreFormulaire("libelleMedicament"); + + // FIN Champs + + $_SESSION['codePrestataire_C'] = $codePrestataire; + + $_SESSION['debutRequeteFr_C'] = $this->requete->getParametreFormulaire("dateLivraison1"); + $_SESSION['finRequeteFr_C'] = $this->requete->getParametreFormulaire("dateLivraison2"); + + $pharmacies = $this->pharmacie->requetespharmacie($codePrestataire, $dateLivraison1, $dateLivraison2, $numeroAdherent, $numeroBeneficiaire, $codeMedecin, + $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOrdonnance1, $numeroBonOrdonnance2, $numeroFeuilleMaladie1, $numeroFeuilleMaladie2, + $codePrestatairePrescription, $adherent, $beneficiaire, $libelleMedicament); + + $pharmacies_total = $this->pharmacie->requetespharmacietotal($codePrestataire, $dateLivraison1, $dateLivraison2, $numeroAdherent, $numeroBeneficiaire, $codeMedecin, + $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOrdonnance1, $numeroBonOrdonnance2, $numeroFeuilleMaladie1, $numeroFeuilleMaladie2, + $codePrestatairePrescription, $adherent, $beneficiaire, $libelleMedicament); + + $this->genererVueAjax(array('pharmacies' => $pharmacies, 'pharmacies_total' => $pharmacies_total)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxrequetepharmaciebexport.php b/Controleur_sav/ControleurAjaxrequetepharmaciebexport.php new file mode 100755 index 0000000..c8faf17 --- /dev/null +++ b/Controleur_sav/ControleurAjaxrequetepharmaciebexport.php @@ -0,0 +1,110 @@ +pharmacie = new Pharmacie(); + } + + public function index() + { + // Ligne 1 + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $dateLivraison1 = $this->requete->getParametreDate("dateLivraison1"); + $dateLivraison2 = $this->requete->getParametreDate("dateLivraison2"); + $numeroAdherent = $this->requete->getParametreFormulaire("numeroAdherent"); + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + + // Ligne 2 + $codeMedecin = $this->requete->getParametreFormulaire("codeMedecin"); + + $numeroBonConsultation1 = $this->requete->getParametreFormulaire("numeroBonConsultation1"); + $numeroBonConsultation2 = $this->requete->getParametreFormulaire("numeroBonConsultation2"); + + $numeroBonOrdonnance1 = $this->requete->getParametreFormulaire("numeroBonOrdonnance1"); + $numeroBonOrdonnance2 = $this->requete->getParametreFormulaire("numeroBonOrdonnance2"); + + $numeroFeuilleMaladie1 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie1"); + $numeroFeuilleMaladie2 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie2"); + + $codePrestatairePrescription= $this->requete->getParametreFormulaire("codePrestatairePrescription"); + + // Ligne 3 + $adherent = $this->requete->getParametreFormulaire("adherent"); + $beneficiaire = $this->requete->getParametreFormulaire("beneficiaire"); + + // Ligne 4 + $libelleMedicament = $this->requete->getParametreFormulaire("libelleMedicament"); + + // FIN Champs + + $_SESSION['codePrestataire_C'] = $codePrestataire; + + $_SESSION['debutRequeteFr_C'] = $this->requete->getParametreFormulaire("dateLivraison1"); + $_SESSION['finRequeteFr_C'] = $this->requete->getParametreFormulaire("dateLivraison2"); + + $pharmacies = $this->pharmacie->requetespharmacieexport($codePrestataire, $dateLivraison1, $dateLivraison2, $numeroAdherent, $numeroBeneficiaire, $codeMedecin, + $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOrdonnance1, $numeroBonOrdonnance2, $numeroFeuilleMaladie1, $numeroFeuilleMaladie2, + $codePrestatairePrescription, $adherent, $beneficiaire, $libelleMedicament); + + // Excel + $headerXLS = array( + 'prestataire', + 'dateSysteme', + 'NoAdherent', + 'adherent', + 'NoBeneficiaire', + 'beneficiaire', + 'idPrestation', + 'NoBonOrd', + 'NoFeuille', + 'NoBonCons', + 'Medicament', + 'Prix', + 'quantite', + 'fraisReel', + 'TM', + 'Arembourser', + 'Exclu', + 'Retenu', + 'MtForce', + 'Apayer', + 'valide', + 'Redresse', + 'prestatairePrescription', + 'medecinPrescription', + 'NoMedecin'); + + $dataXLS = array(); + + + foreach ($pharmacies as $pharmacie) + { + $dataXLS[]=$pharmacie; + } + + + $classeur = new PHPExcel(); + $classeur->getProperties()->setCreator("INTER-SANTE"); + $classeur->setActiveSheetIndex(0); + $feuille=$classeur->getActiveSheet(); + $feuille->setTitle('ACTES PHARAMACIE MEDICARE'); + $feuille->fromArray($headerXLS, NULL, 'A1', true); + $feuille->fromArray($dataXLS, NULL, 'A2', true); + + //Forcer le téléchargement vers le navigateur; + $fichier = 'Temp/ACTES_PHARAMACIE_MEDICARE'."_".uniqid().".xlsx"; + + $writer = new PHPExcel_Writer_Excel2007($classeur); + $writer->save($fichier); + + $t_html ='
'; + $t_html .=' ACTES PHARAMACIE MEDICARE AU FORMAT EXCEL / DONWLOAD RESULTS '; + $t_html .='
pharmacie = new Pharmacie(); + } + + public function index() + { + // Ligne 1 + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $dateLivraison1 = $this->requete->getParametreDate("dateLivraison1"); + $dateLivraison2 = $this->requete->getParametreDate("dateLivraison2"); + $numeroAdherent = $this->requete->getParametreFormulaire("numeroAdherent"); + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + + // Ligne 2 + $codeMedecin = $this->requete->getParametreFormulaire("codeMedecin"); + + $numeroBonConsultation1 = $this->requete->getParametreFormulaire("numeroBonConsultation1"); + $numeroBonConsultation2 = $this->requete->getParametreFormulaire("numeroBonConsultation2"); + + $numeroBonOrdonnance1 = $this->requete->getParametreFormulaire("numeroBonOrdonnance1"); + $numeroBonOrdonnance2 = $this->requete->getParametreFormulaire("numeroBonOrdonnance2"); + + $numeroFeuilleMaladie1 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie1"); + $numeroFeuilleMaladie2 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie2"); + + $codePrestatairePrescription= $this->requete->getParametreFormulaire("codePrestatairePrescription"); + + // Ligne 3 + $adherent = $this->requete->getParametreFormulaire("adherent"); + $beneficiaire = $this->requete->getParametreFormulaire("beneficiaire"); + + // Ligne 4 + $libelleMedicament = $this->requete->getParametreFormulaire("libelleMedicament"); + + // FIN Champs + + $_SESSION['codePrestataire_C'] = $codePrestataire; + + $_SESSION['debutRequeteFr_C'] = $this->requete->getParametreFormulaire("dateLivraison1"); + $_SESSION['finRequeteFr_C'] = $this->requete->getParametreFormulaire("dateLivraison2"); + + $pharmacies = $this->pharmacie->requetespharmacieexport($codePrestataire, $dateLivraison1, $dateLivraison2, $numeroAdherent, $numeroBeneficiaire, $codeMedecin, + $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOrdonnance1, $numeroBonOrdonnance2, $numeroFeuilleMaladie1, $numeroFeuilleMaladie2, + $codePrestatairePrescription, $adherent, $beneficiaire, $libelleMedicament); + + // Excel + $headerXLS = array( + 'prestataire', + 'dateSysteme', + 'NoAdherent', + 'adherent', + 'NoBeneficiaire', + 'beneficiaire', + 'idPrestation', + 'NoBonOrd', + 'NoFeuille', + 'NoBonCons', + 'Medicament', + 'Prix', + 'quantite', + 'fraisReel', + 'TM', + 'Arembourser', + 'Exclu', + 'Retenu', + 'MtForce', + 'Apayer', + 'valide', + 'Redresse', + 'prestatairePrescription', + 'medecinPrescription', + 'NoMedecin'); + + $dataXLS = array(); + + + foreach ($pharmacies as $pharmacie) + { + $dataXLS[]=$pharmacie; + } + + + $classeur = new PHPExcel(); + $classeur->getProperties()->setCreator("INTER-SANTE"); + $classeur->setActiveSheetIndex(0); + $feuille=$classeur->getActiveSheet(); + $feuille->setTitle('ACTES PHARAMACIE MEDICARE'); + $feuille->fromArray($headerXLS, NULL, 'A1', true); + $feuille->fromArray($dataXLS, NULL, 'A2', true); + + //Forcer le téléchargement vers le navigateur; + $fichier = 'Temp/ACTES_PHARAMACIE_MEDICARE'."_".uniqid().".xlsx"; + + $writer = new PHPExcel_Writer_Excel2007($classeur); + $writer->save($fichier); + + $t_html ='
'; + $t_html .=' TELECHARGER ACTES PHARAMACIE MEDICARE AU FORMAT EXCEL / DONWLOAD RESULTS '; + $t_html .='
prestationactes = new Prestationactes(); + } + + public function index() + { + // Ligne 1 + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $datePrestation1 = $this->requete->getParametreDate("datePrestation1"); + $datePrestation2 = $this->requete->getParametreDate("datePrestation2"); + $numeroAdherent = $this->requete->getParametreFormulaire("numeroAdherent"); + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + + // Ligne 2 + $codeMedecin = $this->requete->getParametreFormulaire("codeMedecin"); + + $numeroBonConsultation1 = $this->requete->getParametreFormulaire("numeroBonConsultation1"); + $numeroBonConsultation2 = $this->requete->getParametreFormulaire("numeroBonConsultation2"); + + $numeroBonOrdonnance1 = $this->requete->getParametreFormulaire("numeroBonOrdonnance1"); + $numeroBonOrdonnance2 = $this->requete->getParametreFormulaire("numeroBonOrdonnance2"); + + $numeroBonHospitalisation1 = $this->requete->getParametreFormulaire("numeroBonHospitalisation1"); + $numeroBonHospitalisation2 = $this->requete->getParametreFormulaire("numeroBonHospitalisation2"); + + $numeroBonOptique1 = $this->requete->getParametreFormulaire("numeroBonOptique1"); + $numeroBonOptique2 = $this->requete->getParametreFormulaire("numeroBonOptique2"); + + // Ligne 3 + $codeTypePrestataire = $this->requete->getParametreFormulaire("codeTypePrestataire"); + + $numeroFeuilleMaladie1 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie1"); + $numeroFeuilleMaladie2 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie2"); + + $codeTypePrestation = $this->requete->getParametreFormulaire("codeTypePrestation"); + $ententePrealable = $this->requete->getParametreFormulaire("ententePrealable"); + $numeroChambre = $this->requete->getParametreFormulaire("numeroChambre"); + $facture = $this->requete->getParametreFormulaire("facture"); + + // Ligne 4 + $adherent = $this->requete->getParametreFormulaire("adherent"); + $beneficiaire = $this->requete->getParametreFormulaire("beneficiaire"); + + // Ligne 5 + $libelleActe = $this->requete->getParametreFormulaire("libelleActe"); + $libelleFamilleActe = $this->requete->getParametreFormulaire("libelleFamilleActe"); + + // FIN Champs + + $_SESSION['codePrestataire_C'] = $codePrestataire; + + $_SESSION['debutRequeteFr_C'] = $this->requete->getParametreFormulaire("datePrestation1"); + $_SESSION['finRequeteFr_C'] = $this->requete->getParametreFormulaire("datePrestation2"); + + $prestationactes = $this->prestationactes->requetesprestationactes($codePrestataire, $datePrestation1, $datePrestation2, $numeroAdherent, $numeroBeneficiaire, $codeMedecin, + $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOrdonnance1, $numeroBonOrdonnance2, $numeroBonHospitalisation1, + $numeroBonHospitalisation2, $numeroBonOptique1, $numeroBonOptique2, $codeTypePrestataire, $numeroFeuilleMaladie1, + $numeroFeuilleMaladie2, $codeTypePrestation, $ententePrealable, $numeroChambre, $facture, $adherent, $beneficiaire, $libelleActe, $libelleFamilleActe); + + $prestationactes_total = $this->prestationactes->requetesprestationactestotal($codePrestataire, $datePrestation1, $datePrestation2, $numeroAdherent, $numeroBeneficiaire, $codeMedecin, + $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOrdonnance1, $numeroBonOrdonnance2, $numeroBonHospitalisation1, + $numeroBonHospitalisation2, $numeroBonOptique1, $numeroBonOptique2, $codeTypePrestataire, $numeroFeuilleMaladie1, + $numeroFeuilleMaladie2, $codeTypePrestation, $ententePrealable, $numeroChambre, $facture, $adherent, $beneficiaire, $libelleActe, $libelleFamilleActe); + + $this->genererVueAjax(array('prestationactes' => $prestationactes, 'prestationactes_total' => $prestationactes_total)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAjaxrequeteprestationactesexport.php b/Controleur_sav/ControleurAjaxrequeteprestationactesexport.php new file mode 100755 index 0000000..998629a --- /dev/null +++ b/Controleur_sav/ControleurAjaxrequeteprestationactesexport.php @@ -0,0 +1,134 @@ +prestationactes = new Prestationactes(); + } + + public function index() + { + // Ligne 1 + $codePrestataire = $this->requete->getParametreFormulaire("codePrestataire"); + $datePrestation1 = $this->requete->getParametreDate("datePrestation1"); + $datePrestation2 = $this->requete->getParametreDate("datePrestation2"); + $numeroAdherent = $this->requete->getParametreFormulaire("numeroAdherent"); + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + + // Ligne 2 + $codeMedecin = $this->requete->getParametreFormulaire("codeMedecin"); + + $numeroBonConsultation1 = $this->requete->getParametreFormulaire("numeroBonConsultation1"); + $numeroBonConsultation2 = $this->requete->getParametreFormulaire("numeroBonConsultation2"); + + $numeroBonOrdonnance1 = $this->requete->getParametreFormulaire("numeroBonOrdonnance1"); + $numeroBonOrdonnance2 = $this->requete->getParametreFormulaire("numeroBonOrdonnance2"); + + $numeroBonHospitalisation1 = $this->requete->getParametreFormulaire("numeroBonHospitalisation1"); + $numeroBonHospitalisation2 = $this->requete->getParametreFormulaire("numeroBonHospitalisation2"); + + $numeroBonOptique1 = $this->requete->getParametreFormulaire("numeroBonOptique1"); + $numeroBonOptique2 = $this->requete->getParametreFormulaire("numeroBonOptique2"); + + // Ligne 3 + $codeTypePrestataire = $this->requete->getParametreFormulaire("codeTypePrestataire"); + + $numeroFeuilleMaladie1 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie1"); + $numeroFeuilleMaladie2 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie2"); + + $codeTypePrestation = $this->requete->getParametreFormulaire("codeTypePrestation"); + $ententePrealable = $this->requete->getParametreFormulaire("ententePrealable"); + $numeroChambre = $this->requete->getParametreFormulaire("numeroChambre"); + $facture = $this->requete->getParametreFormulaire("facture"); + + // Ligne 4 + $adherent = $this->requete->getParametreFormulaire("adherent"); + $beneficiaire = $this->requete->getParametreFormulaire("beneficiaire"); + + // Ligne 5 + $libelleActe = $this->requete->getParametreFormulaire("libelleActe"); + $libelleFamilleActe = $this->requete->getParametreFormulaire("libelleFamilleActe"); + + // FIN Champs + + $_SESSION['codePrestataire_C'] = $codePrestataire; + + $_SESSION['debutRequeteFr_C'] = $this->requete->getParametreFormulaire("datePrestation1"); + $_SESSION['finRequeteFr_C'] = $this->requete->getParametreFormulaire("datePrestation2"); + + $prestationactes = $this->prestationactes->requetesprestationactesexport($codePrestataire, $datePrestation1, $datePrestation2, $numeroAdherent, $numeroBeneficiaire, $codeMedecin, + $numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOrdonnance1, $numeroBonOrdonnance2, $numeroBonHospitalisation1, + $numeroBonHospitalisation2, $numeroBonOptique1, $numeroBonOptique2, $codeTypePrestataire, $numeroFeuilleMaladie1, + $numeroFeuilleMaladie2, $codeTypePrestation, $ententePrealable, $numeroChambre, $facture, $adherent, $beneficiaire, $libelleActe, $libelleFamilleActe); + + // Excel + $headerXLS = array( + 'prestataire', + 'datePrestation', + 'NoAdherent', + 'adherent', + 'NoBeneficiaire', + 'beneficiaire', + 'NoFeuille', + 'NoBonCons', + 'NoBonOrd', + 'NoBonHosp', + 'NoBonOpt', + 'codeTypePrestation', + 'libelleActe', + 'Medecin', + 'NoMedecin', + 'valeurActe', + 'quantite', + 'fraisReel', + 'TM', + 'Arembourser', + 'facture', + 'valide', + 'login' + /* + 'Exclu', + 'Retenu', + 'MtForce', + 'Apayer', + 'Redresse', + 'Rejete', + 'Attente', + */ + ); + + $dataXLS = array(); + + + foreach ($prestationactes as $prestationacte) + { + $dataXLS[]=$prestationacte; + } + + + $classeur = new PHPExcel(); + $classeur->getProperties()->setCreator("INTER-SANTE"); + $classeur->setActiveSheetIndex(0); + $feuille=$classeur->getActiveSheet(); + $feuille->setTitle('PRESTATIONS MEDICARE'); + $feuille->fromArray($headerXLS, NULL, 'A1', true); + $feuille->fromArray($dataXLS, NULL, 'A2', true); + + //Forcer le téléchargement vers le navigateur; + $fichier = 'Temp/PRESTATIONS_MEDICARE'."_".uniqid().".xlsx"; + + $writer = new PHPExcel_Writer_Excel2007($classeur); + $writer->save($fichier); + + $t_html ='
'; + $t_html .=' TELECHARGER PRESTATIONS MEDICARE AU FORMAT EXCEL / DONWLOAD RESULTS '; + $t_html .='
requete->getSession()->getAttribut('codeSociete'); + $codePays = $this->requete->getParametreFormulaire("codePays"); + $listeville = (new Ville())->getListe($codePays); + $this->genererVueAjax(array('listeville' => $listeville)); + } + + public function consultation() + { + $codeSociete = $this->requete->getSession()->getAttribut('codeSociete'); + $codePays = $this->requete->getParametreFormulaire("codePays"); + $listeville = (new Ville())->getListe($codePays); + $this->genererVueAjax(array('listeville' => $listeville)); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurAnteceentsmedicaux.php b/Controleur_sav/ControleurAnteceentsmedicaux.php new file mode 100755 index 0000000..af10edd --- /dev/null +++ b/Controleur_sav/ControleurAnteceentsmedicaux.php @@ -0,0 +1,17 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Anteceentsmedicaux'); + } + + public function index() + { + $this->genererVue(); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurArchiverfacture.php b/Controleur_sav/ControleurArchiverfacture.php new file mode 100755 index 0000000..eb4ff36 --- /dev/null +++ b/Controleur_sav/ControleurArchiverfacture.php @@ -0,0 +1,83 @@ +menuvue = new Menuvueprofil(); + $this->menuvue->getMenuVue('Archiverfacture'); + $this->ged = new Ged(); + } + + public function index($nomOrigine="") + { + $numeroBeneficiaire = $_SESSION['numeroBeneficiaire_C']; + if (isset($_POST['nomOrigine'])) + { + $nomOrigine = $this->requete->getParametreFormulaire("nomOrigine"); + } + $geds = $this->ged->afficherFactures($numeroBeneficiaire, $nomOrigine); + + $this->genererVue(array('geds' => $geds, 'nomOrigine' => $nomOrigine)); + } + + public function enregistredossier() + { + $numeroBeneficiaire = $_SESSION['numeroBeneficiaire_C']; + // On va uploader les fichiers joints s'il y en a + $old_file_name =''; + if( !empty($_FILES['nomFichier']['name']) ) + { + $file_tmp_name = $_FILES['nomFichier']['tmp_name']; + $old_file_name = $_FILES['nomFichier']['name']; + $file_size = $_FILES['nomFichier']['size']; + $file_type = $_FILES['nomFichier']['type']; + $file_error = $_FILES['nomFichier']['error']; + + define('TARGET', 'Ged/'); // Repertoire cible + $extension = ''; + $nomFichier = ''; + + if( !is_dir(TARGET) ) + { + if( !mkdir(TARGET, 0755) ) + { + //exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !'); + $message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !'; + } + } + + // Recuperation de l'extension du fichier + $extension = pathinfo($_FILES['nomFichier']['name'], PATHINFO_EXTENSION); + + if(isset($_FILES['nomFichier']['error']) + && UPLOAD_ERR_OK === $_FILES['nomFichier']['error']) + { + // On renomme le fichier + $nomFichier = "Fact_".$_SESSION['numeroBeneficiaire_C']."_".uniqid().'.'. $extension; + // Si c'est OK, on teste l'upload + if(move_uploaded_file($_FILES['nomFichier']['tmp_name'], TARGET.$nomFichier)) + { + $this->ged->ajouterFacture($numeroBeneficiaire, $nomFichier, $old_file_name, $accesAssure="0", + $accesPrestataire="0", $accesPartenaire="0", $accesMedecin="0", $accesCompagnie="0", $accesProducteur="0", + $accesGestionnaire="1", $nomFichier); + } + else + { + // Sinon on affiche une erreur systeme + $message = 'Problème lors du chargement !'; + } + } + else + { + $message = 'Une erreur interne a empêché le chargement'; + } + } + // On réaffiche la page on est prêt à charger un autre document// + $this->rediriger("Archiverfacture"); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurArchiverged.php b/Controleur_sav/ControleurArchiverged.php new file mode 100755 index 0000000..8d0b853 --- /dev/null +++ b/Controleur_sav/ControleurArchiverged.php @@ -0,0 +1,81 @@ +menuvue = new Menuvueprofil(); + $this->menuvue->getMenuVue('Archiverged'); + $this->ged = new Ged(); + } + public function index() { + $this->genererVue(); + } + + public function enregistredossier() + { + $numeroBeneficiaire = $_SESSION['numeroBeneficiaire_C']; + // On va uploader les fichiers joints s'il y en a + $old_file_name =''; + if( !empty($_FILES['nomFichier']['name']) ) + { + $accesAssure = $this->requete->getParametre("accesAssure"); + $accesPrestataire = $this->requete->getParametre("accesPrestataire"); + $accesMedecin = $this->requete->getParametre("accesMedecin"); + $accesGestionnaire = $this->requete->getParametre("accesGestionnaire"); + + + $file_tmp_name = $_FILES['nomFichier']['tmp_name']; + $old_file_name = $_FILES['nomFichier']['name']; + $file_size = $_FILES['nomFichier']['size']; + $file_type = $_FILES['nomFichier']['type']; + $file_error = $_FILES['nomFichier']['error']; + + define('TARGET', 'Ged/'); // Repertoire cible + $extension = ''; + $nomFichier = ''; + + if( !is_dir(TARGET) ) + { + if( !mkdir(TARGET, 0755) ) + { + //exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !'); + $message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !'; + } + } + + // Recuperation de l'extension du fichier + $extension = pathinfo($_FILES['nomFichier']['name'], PATHINFO_EXTENSION); + + if(isset($_FILES['nomFichier']['error']) + && UPLOAD_ERR_OK === $_FILES['nomFichier']['error']) + { + // On renomme le fichier + $nomFichier = $_SESSION['numeroBeneficiaire_C']."_".uniqid().'.'. $extension; + // Si c'est OK, on teste l'upload + if(move_uploaded_file($_FILES['nomFichier']['tmp_name'], TARGET.$nomFichier)) + { + $this->ged->ajouterGed($numeroBeneficiaire, $nomFichier, $old_file_name, $accesAssure, + $accesPrestataire, $accesPartenaire="0", $accesMedecin, $accesCompagnie="0", $accesProducteur="0", + $accesGestionnaire, $nomFichier); + } + + else + { + // Sinon on affiche une erreur systeme + $message = 'Problème lors du chargement !'; + } + } + else + { + $message = 'Une erreur interne a empêché le chargement'; + } + } + // On réaffiche la page on est prêt à charger un autre document// + $this->rediriger("Afficherged"); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurChambre.php b/Controleur_sav/ControleurChambre.php new file mode 100755 index 0000000..57dbb6a --- /dev/null +++ b/Controleur_sav/ControleurChambre.php @@ -0,0 +1,39 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Chambre'); + + $this->feuillemaladie = new Feuillemaladie(); + $this->prestation = new Prestationactes(); + $this->acte = new Detailtarifacte(); + } + + public function index() + { + $numeroFeuilleMaladie = $_SESSION['numeroFeuilleMaladie_C']; + $codePrestataire = $_SESSION['codePrestataire_C']; + + $feuillemaladie = $this->feuillemaladie->getfeuillemaladie($numeroFeuilleMaladie); + + $chambres = $this->prestation->getchambresfeuille($numeroFeuilleMaladie); + + $totalchambres = $this->prestation->gettotalchambresfeuille($numeroFeuilleMaladie); + + $acte = $this->acte->getchambespossibles(); + + $this->genererVue(array('feuillemaladie' => $feuillemaladie, 'chambres' => $chambres, + 'totalchambres' => $totalchambres, 'acte' => $acte)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurChangermotpass.php b/Controleur_sav/ControleurChangermotpass.php new file mode 100755 index 0000000..b477100 --- /dev/null +++ b/Controleur_sav/ControleurChangermotpass.php @@ -0,0 +1,81 @@ +utilisateur = new Utilisateur(); + + $this->menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Changermotpass'); + } + + public function index() + { + $this->genererVue(); + } + + public function changerpass() + { + $login = $_SESSION['login']; + if ($this->requete->existeParametre("ancmdp") + && $this->requete->existeParametre("nvmdp") + && $this->requete->existeParametre("cfnvmdp")) + { + $ancmdp = $this->requete->getParametre("ancmdp"); + $nvmdp = $this->requete->getParametre("nvmdp"); + $cfnvmdp = $this->requete->getParametre("cfnvmdp"); + + // Ici on va faire intervenir la complexité du mot de passe + $tb_complexitePassWord = $this->utilisateur->getcomplexitepassword(); + $complexitePassWord = $tb_complexitePassWord['complexitePassWord']; + $longueurPassWord = $tb_complexitePassWord['longueurPassWord']; + + if (strlen($nvmdp)<$longueurPassWord) + { + $this->genererVue(array('msgErreur' => _('Veuillez revoir la longueur du mot de passe!')), "index"); + }/* + else if ( strlen($complexitePassWord)>1 && !(preg_match($complexitePassWord, $nvmdp)) ) + { + $this->genererVue(array('msgErreur' => 'Mot de passe non conforme!'), "index"); + }*/ + else if ($nvmdp!=$cfnvmdp) + { + $this->genererVue(array('msgErreur' => _('Veuillez confirmer votre nouveau mot de passe!')), "index"); + } + else if ($nvmdp==$ancmdp) + { + $this->genererVue(array('msgErreur' => _('Veuillez changer de mot de passe!')), "index"); + } + else if (!$this->utilisateur->respecteoldpass($login, $nvmdp)) + { + $this->genererVue(array('msgErreur' => _('Mot de passe récemment utilsé!')), "index"); + } + else if ($this->utilisateur->connecter($login, $ancmdp)) + { + $this->utilisateur->changerpass($login, $ancmdp, $nvmdp); + // $this->rediriger("Recherche"); + // ajout KANE du 24/03/2025 + $this->rediriger("Connexion/deconnecter/"); + exit(); + + } + else + { + $this->genererVue(array('msgErreur' => _('Ancien mot de passe incorrect!')), "index"); + } + } + else + { + $this->genererVue(array('msgErreur' => _('Veuillez revoir votre saisie!')), "index"); + } + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurConnexion.php b/Controleur_sav/ControleurConnexion.php new file mode 100755 index 0000000..ced3379 --- /dev/null +++ b/Controleur_sav/ControleurConnexion.php @@ -0,0 +1,766 @@ +utilisateur = new Utilisateur(); + $this->menu = new Menu(); + $this->logconnexion = new Logconnexion(); + $this->societeuser = new Societeuser(); + $this->societeusercentral = new Societeusercentral(); + } + + public function index() + { + $this->genererVue(); + } + + public function connecter() + { + if + ( + $this->requete->existeParametre("codeSociete") + && + $this->requete->existeParametre("login") + && + $this->requete->existeParametre("mdp") + ) + { + $langue = $this->requete->getParametre("langue"); + $codeSociete = $this->requete->getParametre("codeSociete"); + $login = $this->requete->getParametre("login"); + $mdp = $this->requete->getParametre("mdp"); + + $_SESSION['codeSociete'] = $codeSociete; + $_SESSION['lang'] = $langue; + + // Ajout KANE du 16/12/2024 => Vérifier que le société existe! + //$societeExiste = $this->societeusercentral->existeligne($codeSociete); + + $societeExiste = $this->societeusercentral->existeligneconnexion($codeSociete); + + if (!$societeExiste) + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => "Please review your entity!"), "index"); + exit(); + } + else + { + $this->genererVue(array('msgErreur' => "Veuillez revoir votre entité!"), "index"); + exit(); + } + } + + $paramsabonnementsaas = $this->societeusercentral->getParamsAbonnementSaas($codeSociete); + + + $actif = $paramsabonnementsaas['actif']; + $delaiUsageSaas = $paramsabonnementsaas['delaiUsageSaas']; + $dateJour = date('Y-m-d'); + + if ($actif == "0") + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => "Inactive subscription"), "index"); + exit(); + } + else + { + $this->genererVue(array('msgErreur' => "Abonnement inactif!"), "index"); + exit(); + } + } + + if ($delaiUsageSaas<$dateJour) + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => "Your subscription has expired!"), "index"); + exit(); + } + else + { + $this->genererVue(array('msgErreur' => "Votre abonnement a expiré!"), "index"); + exit(); + } + } + + // logConnexion + $heureConnexion = date("Y-m-d H:i:s"); + $ipConnexion = $_SERVER['REMOTE_ADDR']; + + $idSaisie = uniqid(); + + $idConnexion = $this->logconnexion->ajouter($login, $heureConnexion, $ipConnexion, $idSaisie); + + // Vidage Tables temporaires + + $_SESSION['idSaisie'] = $idSaisie; + + $this->utilisateur->viderTablesTemporairesUser($login); + + $ipbanni = $this->logconnexion->ipbanni($ipConnexion); + + if($ipbanni>"0") + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => "IP address banned!"), "index"); + exit(); + } + else + { + $this->genererVue(array('msgErreur' => "Adresse IP banni!"), "index"); + exit(); + } + } + + $userbanni = $this->logconnexion->userbanni($login); + + if($userbanni>"0") + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => "Login banned!"), "index"); + exit(); + } + else + { + $this->genererVue(array('msgErreur' => "Login banni!"), "index"); + exit(); + } + } + + $nbTentativeConnexionMax = $this->societeuser->get_nbTentativeConnexion(); + + + + if (!isset($_SESSION['nbTentativeConnexion'])) + { + $_SESSION['nbTentativeConnexion'] = '0'; + } + + $nbTentativeConnexion = $_SESSION['nbTentativeConnexion']; + + + + if($nbTentativeConnexion>$nbTentativeConnexionMax) + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => "Too many connection attempts!"), "index"); + exit(); + } + else + { + $this->genererVue(array('msgErreur' => "Trop de tentatives de connexion!"), "index"); + exit(); + } + } + + if ($this->utilisateur->connecter($login, $mdp)) + { + $_SESSION['nbTentativeConnexion'] = '0'; + + $this->logconnexion->succesconnexion($idConnexion); + + $utilisateur = $this->utilisateur->getUtilisateur($login); + + // Début test Licence + $codeSociete = $utilisateur['codeSociete']; + $nomSociete = $utilisateur['nomSociete']; + $codeLangueUtilisateur = $utilisateur['codeLangue']; + + if ($_SESSION['lang'] != $codeLangueUtilisateur) + { + $this->utilisateur->changerlangueutilisateurconnexion($login, $_SESSION['lang']); + } + + $licensed = getLicensed($codeSociete, $nomSociete); + + if(!$licensed ) + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => 'PLEASE CONTACT EBENE SOLUTIONS INFORMATIQUES AT lkane@ebene.info!'), "index"); + } + else + { + $this->genererVue(array('msgErreur' => 'VEUILLEZ CONTACTER EBENE SOLUTIONS INFORMATIQUES AU lkane@ebene.info!'), "index"); + } + exit(); + } + // Fin test Licence + + if($utilisateur['actif']<>1) + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => 'User disabled!'), "index"); + } + else + { + $this->genererVue(array('msgErreur' => 'Utilisateur désactivé!'), "index"); + } + exit(); + } + + if($utilisateur['sorti']==1) + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => 'Family withdrawn!'), "index"); + } + else + { + $this->genererVue(array('msgErreur' => 'Famille sortie!'), "index"); + } + exit(); + } + + // Gestion limite usage + $dateLimiteUsage = $utilisateur['dateLimiteUsage']; + $dateLimiteUsage_0 = getMoritio_0(); + // $dateLimiteUsage_2 = getMoritio_2(); + $dateLimiteUsage_2 = getMoritio_2($codeSociete); + + if($dateLimiteUsage<$dateLimiteUsage_0) + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => 'PLEASE CONTACT EBENE SOLUTIONS INFORMATIQUES AT lkane@ebene.info!'), "index"); + } + else + { + $this->genererVue(array('msgErreur' => 'VEUILLEZ CONTACTER EBENE SOLUTIONS INFORMATIQUES AU lkane@ebene.info!'), "index"); + } + exit(); + } + + if($dateLimiteUsage_2<$dateLimiteUsage_0) + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => 'PLEASE CONTACT EBENE SOLUTIONS INFORMATIQUES AT lkane@ebene.info!'), "index"); + } + else + { + $this->genererVue(array('msgErreur' => 'VEUILLEZ CONTACTER EBENE SOLUTIONS INFORMATIQUES AU lkane@ebene.info!'), "index"); + } + exit(); + } + // FIN Gestion limite usage + + // DEBUT Gestion couverture adhérent + + if($utilisateur['enVigueur']<>1) + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => 'Family not in force!'), "index"); + } + else + { + $this->genererVue(array('msgErreur' => 'Famille non en vigeur!'), "index"); + } + exit(); + } + + if($utilisateur['supprime']==1) + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => 'Family not renewed!'), "index"); + } + else + { + $this->genererVue(array('msgErreur' => 'Family not renewed!'), "index"); + } + exit(); + } + + if($utilisateur['dateEffetAdherent']>$dateLimiteUsage_0) + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => 'Family not yet in force!'), "index"); + } + else + { + $this->genererVue(array('msgErreur' => 'Famille pas encore en vigeur!'), "index"); + } + exit(); + } + + + if($utilisateur['dateEffetPolice']>$dateLimiteUsage_0) + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => 'Policy not yet in force!'), "index"); + } + else + { + $this->genererVue(array('msgErreur' => 'Police pas encore en vigeur!'), "index"); + } + exit(); + } + + + if($utilisateur['dateFinPolice']<$dateLimiteUsage_0) + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => 'Deadline exceeded!'), "index"); + } + else + { + $this->genererVue(array('msgErreur' => 'Echéance dépassée!'), "index"); + } + exit(); + } + + // FIN Gestion couverture adhérent + + // Variables de session Utilisateur + $this->requete->getSession()->setAttribut("dateLimiteUsage", $dateLimiteUsage); + $this->requete->getSession()->setAttribut("idUtilisateur", $utilisateur['idUtilisateur']); + $this->requete->getSession()->setAttribut("idUtilisateur_C", $utilisateur['idUtilisateur']); + $this->requete->getSession()->setAttribut("login", $utilisateur['login']); + $this->requete->getSession()->setAttribut("login_C", $utilisateur['login']); + $this->requete->getSession()->setAttribut("codeSociete", $utilisateur['codeSociete']); + $this->requete->getSession()->setAttribut("codeSociete_C", $utilisateur['codeSociete']); + $this->requete->getSession()->setAttribut("codeUtilisateur", $utilisateur['codeUtilisateur']); + $this->requete->getSession()->setAttribut("codeUtilisateur_C", $utilisateur['codeUtilisateur']); + + $this->requete->getSession()->setAttribut("nomUtilisateur_C", $utilisateur['nomAdherent']); + $this->requete->getSession()->setAttribut("prenomsUtilisateur_C", $utilisateur['prenomsAdherent']); + $this->requete->getSession()->setAttribut("utilisateur_C", $utilisateur['adherent']); + + $this->requete->getSession()->setAttribut("userInitials_C", $utilisateur['initiales']); + + $this->requete->getSession()->setAttribut("telephoneUtilisateur_C", $utilisateur['telephonePortableAdherent']); + $this->requete->getSession()->setAttribut("emailUtilisateur_C", $utilisateur['emailAdherent']); + $this->requete->getSession()->setAttribut("codeProfil", $utilisateur['codeProfil']); + $this->requete->getSession()->setAttribut("codeProfil_C", $utilisateur['codeProfil']); + $this->requete->getSession()->setAttribut("codeTypeFacture_C", ""); + + $this->requete->getSession()->setAttribut("codePrestataire_C", ""); + + $this->requete->getSession()->setAttribut("codeMedecin_C", ""); + $this->requete->getSession()->setAttribut("medecinConsultation_C", ""); + + $this->requete->getSession()->setAttribut("codeTypeBon_C", ""); + $this->requete->getSession()->setAttribut("profil_C", $utilisateur['profil']); + $this->requete->getSession()->setAttribut("prestataire_C", ""); + $this->requete->getSession()->setAttribut("codeReseauPrestataire_C", ""); + $this->requete->getSession()->setAttribut("codeTypePrestataire_C", ""); + $this->requete->getSession()->setAttribut("codeTypeDecompte_C", ""); + $this->requete->getSession()->setAttribut("typeprestataire_C", ""); + $this->requete->getSession()->setAttribut("reseausoinPrestataire_C", ""); + $this->requete->getSession()->setAttribut("tmStandard_C", "0"); + + $this->requete->getSession()->setAttribut("emailPrestataire_C", ""); + $this->requete->getSession()->setAttribut("emailGestionPrestataire_C", ""); + + $this->requete->getSession()->setAttribut("nomSociete_C", $utilisateur['nomSociete']); + $this->requete->getSession()->setAttribut("nomSociete", $utilisateur['nomSociete']); + $this->requete->getSession()->setAttribut("numCompteSociete_C", $utilisateur['numCompteSociete']); + $this->requete->getSession()->setAttribut("adresseGeoSociete_C", $utilisateur['adresseGeoSociete']); + $this->requete->getSession()->setAttribut("adressePostSociete_C", $utilisateur['adressePostSociete']); + $this->requete->getSession()->setAttribut("villeSociete_C", $utilisateur['villeSociete']); + $this->requete->getSession()->setAttribut("telephoneSociete_C", $utilisateur['telephoneSociete']); + $this->requete->getSession()->setAttribut("emailSociete_C", $utilisateur['emailSociete']); + $this->requete->getSession()->setAttribut("portableSociete_C", $utilisateur['portableSociete']); + $this->requete->getSession()->setAttribut("nomResponsableSociete_C", $utilisateur['nomResponsableSociete']); + $this->requete->getSession()->setAttribut("codePaysSociete", $utilisateur['codePaysSociete']); + $this->requete->getSession()->setAttribut("medecinConseil_C", $utilisateur['medecinConseil']); + $this->requete->getSession()->setAttribut("telephoneMedecinConseil_C", $utilisateur['telephoneMedecinConseil']); + $this->requete->getSession()->setAttribut("sigleSociete_C", $utilisateur['sigleSociete']); + + $this->requete->getSession()->setAttribut("emailMedecinConseil_C", $utilisateur['emailMedecinConseil']); + $this->requete->getSession()->setAttribut("emailGestionBon_C", $utilisateur['emailGestionBon']); + $this->requete->getSession()->setAttribut("emailCcomptabilite_C", $utilisateur['emailCcomptabilite']); + $this->requete->getSession()->setAttribut("emailDerogation_C", $utilisateur['emailDerogation']); + $this->requete->getSession()->setAttribut("emailAccordPrealable_C", $utilisateur['emailAccordPrealable']); + + $this->requete->getSession()->setAttribut("smsMedecinConseil_C", $utilisateur['smsMedecinConseil']); + $this->requete->getSession()->setAttribut("smsGestionBon_C", $utilisateur['smsGestionBon']); + $this->requete->getSession()->setAttribut("smsDerogation_C", $utilisateur['smsDerogation']); + $this->requete->getSession()->setAttribut("smsAccordPrealable_C", $utilisateur['smsAccordPrealable']); + $this->requete->getSession()->setAttribut("sms_standard_C", $utilisateur['sms_standard']); + + $this->requete->getSession()->setAttribut("lienMail_C", $utilisateur['lienMail']); + $this->requete->getSession()->setAttribut("dossierPhoto_C", $utilisateur['dossierPhoto']); + + /* + $this->requete->getSession()->setAttribut("codeTarifMedicament_C", $utilisateur['codeTarifMedicament']); + $this->requete->getSession()->setAttribut("codeTarifOptique_C", $utilisateur['codeTarifOptique']); + $this->requete->getSession()->setAttribut("codeTarifActe_C", $utilisateur['codeTarifActe']); + */ + + $this->requete->getSession()->setAttribut("dUneSemaineAvant_C", $utilisateur['dUneSemaineAvant']); + $this->requete->getSession()->setAttribut("dUneSemaineAvantFr_C", $utilisateur['dUneSemaineAvantFr']); + + $this->requete->getSession()->setAttribut("codeExercice_C", $utilisateur['codeExercice']); + $this->requete->getSession()->setAttribut("codeMois_C", $utilisateur['codeMois']); + + $this->requete->getSession()->setAttribut("debutExercice_C", $utilisateur['debutExercice']); + $this->requete->getSession()->setAttribut("debutExerciceFr_C", $utilisateur['debutExerciceFr']); + + $this->requete->getSession()->setAttribut("debutMois_C", $utilisateur['debutMois']); + $this->requete->getSession()->setAttribut("debutMoisFr_C", $utilisateur['debutMoisFr']); + + $this->requete->getSession()->setAttribut("debutRequete_C", $_SESSION['debutMois_C']); + $this->requete->getSession()->setAttribut("debutRequeteFr_C", $_SESSION['debutMoisFr_C']); + $this->requete->getSession()->setAttribut("finRequeteFr_C", date('d/m/Y')); + + // On va déclarer les variable de session context + $this->requete->getSession()->setAttribut("idBeneficiaire_C", ""); + $this->requete->getSession()->setAttribut("idBeneficiaire_sav", ""); + + $this->requete->getSession()->setAttribut("user_id_C", "0"); + $this->requete->getSession()->setAttribut("finger_id_C", "0"); + + $this->requete->getSession()->setAttribut("idSubstitut_C", "0"); + $this->requete->getSession()->setAttribut("substitutnonassure_C", ""); + $this->requete->getSession()->setAttribut("substitutenVigueur_C", "0"); + + $this->requete->getSession()->setAttribut("idClient_C", $utilisateur['idClient']); + $this->requete->getSession()->setAttribut("numeroClient_C", $utilisateur['numeroClient']); + $this->requete->getSession()->setAttribut("nomClient_C", $utilisateur['nomClient']); + $this->requete->getSession()->setAttribut("adresseGeoClient_C", $utilisateur['adresseGeoClient']); + $this->requete->getSession()->setAttribut("boitepostaleClient_C", $utilisateur['boitepostaleClient']); + $this->requete->getSession()->setAttribut("telephoneBureauClient_C", $utilisateur['telephoneBureauClient']); + $this->requete->getSession()->setAttribut("telephonePortableClient_C", $utilisateur['telephonePortableClient']); + $this->requete->getSession()->setAttribut("faxClient_C", $utilisateur['faxClient']); + $this->requete->getSession()->setAttribut("emailClient_C", $utilisateur['emailClient']); + $this->requete->getSession()->setAttribut("idPolice_C", $utilisateur['idPolice']); + $this->requete->getSession()->setAttribut("numeroPolice_C", $utilisateur['numeroPolice']); + $this->requete->getSession()->setAttribut("dateEffetPolice_C", $utilisateur['dateEffetPolice']); + $this->requete->getSession()->setAttribut("dateFinPolice_C", $utilisateur['dateFinPolice']); + $this->requete->getSession()->setAttribut("dateEcheancePolice_C", $utilisateur['dateEcheancePolice']); + $this->requete->getSession()->setAttribut("codeEtatPolice_C", $utilisateur['codeEtatPolice']); + $this->requete->getSession()->setAttribut("idCollege_C", $utilisateur['idCollege']); + $this->requete->getSession()->setAttribut("codeProduit_C", $utilisateur['codeProduit']); + $this->requete->getSession()->setAttribut("idAdherent_C", $utilisateur['idAdherent']); + $this->requete->getSession()->setAttribut("numeroAdherent_C", $utilisateur['numeroAdherent']); + $this->requete->getSession()->setAttribut("numeroBeneficiaire_C", ""); + $this->requete->getSession()->setAttribut("nomBeneficiaire_C", ""); + $this->requete->getSession()->setAttribut("prenomsBeneficiaire_C", ""); + $this->requete->getSession()->setAttribut("beneficiaire_C", ""); + $this->requete->getSession()->setAttribut("codeLienParente_C", ""); + $this->requete->getSession()->setAttribut("numeroPiece_C", ""); + $this->requete->getSession()->setAttribut("sexe_C", ""); + $this->requete->getSession()->setAttribut("codeGroupeSanguin_C", ""); + $this->requete->getSession()->setAttribut("dateNaissance_C", ""); + $this->requete->getSession()->setAttribut("telephonePortableBeneficiaire_C", ""); + $this->requete->getSession()->setAttribut("dateEntreeBeneficiaire_C", ""); + $this->requete->getSession()->setAttribut("dateSortieBeneficiaire_C", ""); + $this->requete->getSession()->setAttribut("codeMotifSortie_C", ""); + $this->requete->getSession()->setAttribut("codeEtatBeneficiaire_C", ""); + $this->requete->getSession()->setAttribut("lienPhoto_C", ""); + $this->requete->getSession()->setAttribut("dateEffetBeneficiaire_C", ""); + $this->requete->getSession()->setAttribut("enVigueur_C", ""); + + $_SESSION['photoAssureCrypte'] = ""; + + $this->requete->getSession()->setAttribut("decede_C", ""); + $this->requete->getSession()->setAttribut("dateDeces_C", ""); + $this->requete->getSession()->setAttribut("fraisFuneraireDemande_C", ""); + + $this->requete->getSession()->setAttribut("nomAdherent_C", $utilisateur['nomAdherent']); + $this->requete->getSession()->setAttribut("prenomsAdherent_C",$utilisateur['prenomsAdherent']); + $this->requete->getSession()->setAttribut("adherent_C", $utilisateur['adherent']); + + $this->requete->getSession()->setAttribut("telephonePortableAdherent_C", $utilisateur['telephonePortableAdherent']); + $this->requete->getSession()->setAttribut("emailAdherent_C", $utilisateur['emailAdherent']); + $this->requete->getSession()->setAttribut("produit_C", $utilisateur['produit']); + $this->requete->getSession()->setAttribut("libelleCollege_C", $utilisateur['libelleCollege']); + $this->requete->getSession()->setAttribut("exercieReference_C", $utilisateur['codeExercice']); + + /* + $this->requete->getSession()->setAttribut("adresseGeoAdherent_C", $utilisateur['numeroAdherent']); + $this->requete->getSession()->setAttribut("adressePostaleAdherent_C", $utilisateur['numeroAdherent']); + $this->requete->getSession()->setAttribut("paysAdherent_C", ""); + */ + + $this->requete->getSession()->setAttribut("naturepiece_C", ""); + $this->requete->getSession()->setAttribut("lienparente_C", ""); + $this->requete->getSession()->setAttribut("motifsortie_C", ""); + $this->requete->getSession()->setAttribut("etatbeneficiaire_C", ""); + $this->requete->getSession()->setAttribut("ageBeneficiaire_C", ""); + + $this->requete->getSession()->setAttribut("college_couvert_C", "0"); + $this->requete->getSession()->setAttribut("derogation_en_cours_C", "0"); + $this->requete->getSession()->setAttribut("tmDerogation_C", "0"); + $this->requete->getSession()->setAttribut("derogation_finger_en_cours_C", "0"); + $this->requete->getSession()->setAttribut("okId", "-1"); + + $this->requete->getSession()->setAttribut("accesAjoutPh_C", "0"); + + $this->requete->getSession()->setAttribut("tm_C", "0"); + $this->requete->getSession()->setAttribut("numeroFeuilleMaladie_C", "0"); + $this->requete->getSession()->setAttribut("numeroPrescription_C", "0"); + $this->requete->getSession()->setAttribut("numeroOptique_C", "0"); + $this->requete->getSession()->setAttribut("numeroExamen_C", "0"); + $this->requete->getSession()->setAttribut("numeroPrescriptionKine_C", "0"); + $this->requete->getSession()->setAttribut("idFacture_C", "0"); + + $this->requete->getSession()->setAttribut("numeroBonConsultation_C", "-1"); + $this->requete->getSession()->setAttribut("numeroBonHospitalisation_C", "-1"); + $this->requete->getSession()->setAttribut("hospitalisation_C", "0"); + $this->requete->getSession()->setAttribut("chirurgie_C", "0"); + $this->requete->getSession()->setAttribut("numeroBonOptique_C", "-1"); + $this->requete->getSession()->setAttribut("numeroBonOrdonnance_C", "-1"); + $this->requete->getSession()->setAttribut("numeroBonExamen_C", "-1"); + $this->requete->getSession()->setAttribut("numeroBonKine_C", "-1"); + $this->requete->getSession()->setAttribut("numeroBonSeance_C", "-1"); + + $this->requete->getSession()->setAttribut("codeFamilleActePharmacie_C", "000"); + $this->requete->getSession()->setAttribut("codeActePharmacie_C", "00000"); + + $this->requete->getSession()->setAttribut("codeFamilleActeOptique_C", "999"); + $this->requete->getSession()->setAttribut("codeActeOptique_C", "99999"); + $this->requete->getSession()->setAttribut("codeActeMonture_C", "99990"); + + // acte optique remboursement classique + $this->requete->getSession()->setAttribut("codeActeOptiqueCl_C", "RBCLOPT"); + $this->requete->getSession()->setAttribut("codeActeMontureCl_C", "RBCLMON"); + + $this->requete->getSession()->setAttribut("nbActesVerres", "0"); + $this->requete->getSession()->setAttribut("nbActesMonture", "0"); + + $this->requete->getSession()->setAttribut("nbTentative", "0"); + + $_SESSION['d1_C'] = $_SESSION['dUneSemaineAvant_C']; + $_SESSION['d2_C'] = date('Y-m-d'); + + $_SESSION['dateFactureReellefr_C'] = date("d/m/Y"); + $_SESSION['dateFactureReelle_C'] = date('Y-m-d'); + + $this->requete->getSession()->setAttribut("idReglement_C", "0"); + $this->requete->getSession()->setAttribut("numeroDecompte_C", "-1"); + $this->requete->getSession()->setAttribut("idDemandeDecompte_C", "0"); + $this->requete->getSession()->setAttribut("numeroDemandeDecompte_C", "-1"); + + $this->requete->getSession()->setAttribut("lienPrestation_C", $utilisateur['lienPrestation']); + $this->requete->getSession()->setAttribut("lienProduction_C", $utilisateur['lienProduction']); + $this->requete->getSession()->setAttribut("lienAssure_C", $utilisateur['lienAssure']); + $this->requete->getSession()->setAttribut("modeSaisieFacture", "0"); + + $this->requete->getSession()->setAttribut("nbMessagesNonLus_C", "0"); + + $this->requete->getSession()->setAttribut("requete", "0"); + $this->requete->getSession()->setAttribut("nbActesMonture", "0"); + + /* FIN variable de session context */ + + $filename = 'Societes/'.$utilisateur['codeSociete']; + if (!file_exists($filename)) + { + mkdir($filename, 0700); + } + $this->requete->getSession()->setAttribut("dossierSociete", $filename); + + // $this->requete->getSession()->setAttribut("dossierGed", $_SESSION['lienPrestation_C'].$_SESSION['dossierSociete'].'/Ged/'); + $this->requete->getSession()->setAttribut("dossierGed", $_SESSION['lienAssure_C'].$_SESSION['dossierSociete'].'/Ged/'); + $this->requete->getSession()->setAttribut("cheminGed", $_SESSION['dossierSociete'].'/Ged/'); + + $this->requete->getSession()->setAttribut("devise_C", $utilisateur['devise']); + $this->requete->getSession()->setAttribut("langSociete", $utilisateur['codeLangueSociete']); + + $codeLangue = $_SESSION['lang']; + + if ($_SESSION['lang']=="en_US") + { + $_SESSION['libelleLang']="English"; + } + else + { + $_SESSION['libelleLang']="Français"; + } + + $this->requete->getSession()->setAttribut("menu", $this->menu->getMenu($utilisateur['codeProfil'])); + + $codeProfil = $_SESSION['codeProfil_C']; + + $login = $_SESSION['login']; + + $_SESSION['codeUtilisateur'] = $login; + + // Avant de rediriger, on va remplir suivisaisies + $this->logconnexion->suivisaisies($login, $idSaisie, $codeLangue); + + setcookie('lang', $codeLangue, time()+365*24*3600, '/'); + setcookie('codeUtilisateur', $_SESSION['codeUtilisateur'], time()+365*24*3600, '/'); + setcookie('codeSociete', $_SESSION['codeSociete'], time()+365*24*3600, '/'); + + // ajout du 22/03/2025 => cookie user lié à codeSociete + $codeSociete = $_SESSION['codeSociete']; + setcookie("login[$codeSociete]", $_SESSION['codeUtilisateur'], time()+365*24*3600, '/'); + + $_SESSION['vue'] = "INTER-SANTE"; + + $this->requete->getSession()->setAttribut("changerMotPassDefaut", $utilisateur['changerMotPassDefaut']); + $this->requete->getSession()->setAttribut("verifierLongueurPass", $utilisateur['verifierLongueurPass']); + + $longueurPassWord = $utilisateur['longueurPassWord']; + $_SESSION['dureeSession'] = $utilisateur['dureeSession']; + + $changerMotPassDefaut = ( ($_SESSION['changerMotPassDefaut']=="1") && ($this->utilisateur->verifiermotpassdefaut($codeSociete, $mdp)) ); + $motCourt = ( ($_SESSION['verifierLongueurPass']=="1") && (strlen($mdp)<$longueurPassWord) ); + + // A enlever après + $_SESSION['motCourt'] = $motCourt; + $_SESSION['changerMotPassDefaut'] = $changerMotPassDefaut; + + $agePass = $utilisateur['agePass']; + $dureeViePassWord = $utilisateur['dureeViePassWord']; + + $passExpired = ( ($dureeViePassWord>"0") && ($agePass>$dureeViePassWord) ); + $_SESSION['passExpired'] = $passExpired; + + $_SESSION['passAchanger'] = false; + + // $this->requete->getSession()->setAttribut("bdTests_C", $utilisateur['bdTests']); + $this->requete->getSession()->setAttribut("colorTests", $utilisateur['colorTests']); + + $this->requete->getSession()->setAttribut("faceRegistered_C", "0"); + + // face 26/09/2025 + $this->requete->getSession()->setAttribut("okId", "-1"); + $this->requete->getSession()->setAttribut("okId_face", "-1"); + $this->requete->getSession()->setAttribut("numeroBeneficiaire_face", ""); + + $this->requete->getSession()->setAttribut("largeurPhoto", $utilisateur['largeurPhoto']); + $this->requete->getSession()->setAttribut("longueurPhoto", $utilisateur['longueurPhoto']); + $this->requete->getSession()->setAttribut("assureAjoutPhoto", $utilisateur['assureAjoutPhoto']); + + $_SESSION['fingerActif'] = '0'; + $_SESSION['faceActif'] = '0'; + + $this->requete->getSession()->setAttribut("lienPhotoFace", $utilisateur['lienPhotoFace']); + $this->requete->getSession()->setAttribut("motPassPdf", $utilisateur['motPassPdf']); + + $logo = $_SESSION['dossierPhoto_C'].$_SESSION['dossierSociete'].'/Logos/logo_societe.png'; + $this->requete->getSession()->setAttribut("lienLogo", $logo); + + $dossierLogo=dirname($_SESSION['lienPhotoFace'])."/Logos/logo_societe.png"; + $this->requete->getSession()->setAttribut("dossierLogo", $dossierLogo); + $this->requete->getSession()->setAttribut("dossierAssure", $utilisateur['dossierAssure']); + $this->requete->getSession()->setAttribut("envoismswhatsappactif", $utilisateur['envoismswhatsappactif']); + + $_SESSION['idLogapiface'] = "0"; + + // fin 26/09/2025 + + $_SESSION['deconnexion'] = "0"; + $_SESSION['derniere_action'] = time(); + + if(($motCourt===true) or ($changerMotPassDefaut===true) or ($passExpired===true)) + { + $_SESSION['passAchanger'] = true; + $_SESSION['menu'] = array(); + $this->rediriger("Changermotpass"); + } + else + { + $this->rediriger("Accueilassure"); + } + } + else + { + if (isset($_SESSION['nbTentativeConnexion'])) + { + $_SESSION['nbTentativeConnexion']++; + } + else + { + $_SESSION['nbTentativeConnexion'] = '1'; + } + + $nbTentativeConnexion = $_SESSION['nbTentativeConnexion']; + + if($nbTentativeConnexion>$nbTentativeConnexionMax) + { + $this->logconnexion->bannirconnexion($login, $ipConnexion, $nbTentativeConnexion); + + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => "Too many connection attempts!"), "index"); + } + else + { + $this->genererVue(array('msgErreur' => "Trop de tentatives de connexion!"), "index"); + } + } + else + { + if ($_SESSION['lang']=="en_US") + { + $this->genererVue(array('msgErreur' => "Incorrect login or password => $nbTentativeConnexion attempts (s)"), "index"); + } + else + { + $this->genererVue(array('msgErreur' => "Login ou mot de passe incorrects => $nbTentativeConnexion tentative (s)"), "index"); + } + } + } + } + else + { + if ($_SESSION['lang']=="en_US") + { + throw new Exception("Login or password not defined!"); + } + else + { + throw new Exception("Login ou mot de passe non défini!"); + } + } + } + + public function deconnecter() + { + if($this->requete->getSession()->existeAttribut("login")) + { + $login = $this->requete->getSession()->getAttribut("login"); + $this->utilisateur->viderTablesTemporairesUser($login); + $this->societeusercentral->viderTablesTemporairesUser($login); + } + + $langue = $_SESSION['lang']; + $this->requete->getSession()->detruire(); + $_SESSION['lang'] = $langue; + + $this->rediriger("Connexion"); + } + + public function quitter() + { + $login = $this->requete->getSession()->getAttribut("login"); + $this->utilisateur->viderTablesTemporairesUser($login); + $this->societeusercentral->viderTablesTemporairesUser($login); + $this->requete->getSession()->detruire(); + } +} diff --git a/Controleur_sav/ControleurConsultations.php b/Controleur_sav/ControleurConsultations.php new file mode 100755 index 0000000..ff53f2b --- /dev/null +++ b/Controleur_sav/ControleurConsultations.php @@ -0,0 +1,20 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Consultations'); + } + + public function index() + { + $this->genererVue(); + } +} diff --git a/Controleur_sav/ControleurConsultationsinitiees.php b/Controleur_sav/ControleurConsultationsinitiees.php new file mode 100755 index 0000000..ed9a4f8 --- /dev/null +++ b/Controleur_sav/ControleurConsultationsinitiees.php @@ -0,0 +1,29 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Consultationsinitiees'); + + $this->rendezvous = new Rendezvous(); + + $_SESSION['idDemandeRdv'] = '0'; + } + + public function index() { + $idAdherent = $_SESSION['idAdherent_C']; + $d1 = $_SESSION['debutMois_C']; + $d2 = date('Y-m-d'); + + $demandes = $this->rendezvous->getDemandesConsultation($idAdherent, $d1, $d2); + + $this->genererVue(array('demandes' => $demandes)); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurConsulterderogation.php b/Controleur_sav/ControleurConsulterderogation.php new file mode 100755 index 0000000..1d8bb07 --- /dev/null +++ b/Controleur_sav/ControleurConsulterderogation.php @@ -0,0 +1,23 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Consulterderogation'); + + $this->derogation = new Derogation(); + } + public function index() { + $idDemandederogation = $this->requete->getParametre("id"); + + $derogation = $this->derogation->getDerogationIdCOnsultation($idDemandederogation); + + $this->genererVue(array('derogation' => $derogation)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurConsulterderogations.php b/Controleur_sav/ControleurConsulterderogations.php new file mode 100755 index 0000000..04a856e --- /dev/null +++ b/Controleur_sav/ControleurConsulterderogations.php @@ -0,0 +1,23 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Consulterderogations'); + + $this->derogation = new Derogation(); + } + public function index() { + $idDemandederogation = $this->requete->getParametre("id"); + + $derogation = $this->derogation->getDerogationIdCOnsultation($idDemandederogation); + + $this->genererVue(array('derogation' => $derogation)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurConsulterdetailbaremecollege.php b/Controleur_sav/ControleurConsulterdetailbaremecollege.php new file mode 100755 index 0000000..bd6f8cf --- /dev/null +++ b/Controleur_sav/ControleurConsulterdetailbaremecollege.php @@ -0,0 +1,49 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Consulterdetailbaremecollege'); + + $this->bareme = new Baremepriseencharge(); + $this->garantie = new Garantiesbaremepriseencharge(); + $this->oui_non = new Ouinon(); + } + + public function index() + { + $idBaremePriseEnCharge = $this->requete->getParametreFormulaire("id"); + + $bareme = $this->bareme->getBaremepriseenchargeId($idBaremePriseEnCharge); + + $_SESSION['idBaremePriseEnCharge'] = $idBaremePriseEnCharge; + + $idCollege = $_SESSION['idCollege_C']; + + $garantiesajoutees = $this->garantie->getGarantiesProduit($bareme["codeProduit"], $idBaremePriseEnCharge); + + $actif = $this->oui_non->getListe(); + $tmBareme = $this->garantie->getTmBareme($idBaremePriseEnCharge); + + $maxDateEffetBareme = $this->garantie->getMaxDateEffetBareme($idBaremePriseEnCharge); + + $this->genererVue(array( + 'bareme' => $bareme, + 'garantiesajoutees' => $garantiesajoutees, + 'actif' => $actif, + 'tmBareme' => $tmBareme, + 'maxDateEffetBareme' => $maxDateEffetBareme + )); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurConsulterententeprealables.php b/Controleur_sav/ControleurConsulterententeprealables.php new file mode 100755 index 0000000..246604c --- /dev/null +++ b/Controleur_sav/ControleurConsulterententeprealables.php @@ -0,0 +1,23 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Consulterententeprealables'); + + $this->ententeprealable = new Ententeprealable(); + } + public function index() { + $idDemandeententeprealable = $this->requete->getParametre("id"); + + $ententeprealable = $this->ententeprealable->getEntenteprealableId($idDemandeententeprealable); + + $this->genererVue(array('ententeprealable' => $ententeprealable)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurConsulterententeprealablesmont.php b/Controleur_sav/ControleurConsulterententeprealablesmont.php new file mode 100755 index 0000000..0dea8c3 --- /dev/null +++ b/Controleur_sav/ControleurConsulterententeprealablesmont.php @@ -0,0 +1,24 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Consulterententeprealablesmont'); + + $this->ententeprealable = new Ententeprealable(); + } + public function index() + { + $idDemandeententeprealable = $this->requete->getParametre("id"); + + $ententeprealable = $this->ententeprealable->getEntenteprealablemontId($idDemandeententeprealable); + + $this->genererVue(array('ententeprealable' => $ententeprealable)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurConsulterententeprealablesopt.php b/Controleur_sav/ControleurConsulterententeprealablesopt.php new file mode 100755 index 0000000..1574940 --- /dev/null +++ b/Controleur_sav/ControleurConsulterententeprealablesopt.php @@ -0,0 +1,24 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Consulterententeprealablesopt'); + + $this->ententeprealable = new Ententeprealable(); + } + public function index() + { + $idDemandeententeprealable = $this->requete->getParametre("id"); + + $ententeprealable = $this->ententeprealable->getEntenteprealableoptId($idDemandeententeprealable); + + $this->genererVue(array('ententeprealable' => $ententeprealable)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurConsulterententeprealablespha.php b/Controleur_sav/ControleurConsulterententeprealablespha.php new file mode 100755 index 0000000..62c42db --- /dev/null +++ b/Controleur_sav/ControleurConsulterententeprealablespha.php @@ -0,0 +1,23 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Consulterententeprealablespha'); + + $this->ententeprealable = new Ententeprealable(); + } + public function index() { + $idDemandeententeprealable = $this->requete->getParametre("id"); + + $ententeprealable = $this->ententeprealable->getEntenteprealablephaId($idDemandeententeprealable); + + $this->genererVue(array('ententeprealable' => $ententeprealable)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurConsultertableauprestation.php b/Controleur_sav/ControleurConsultertableauprestation.php new file mode 100755 index 0000000..3c79912 --- /dev/null +++ b/Controleur_sav/ControleurConsultertableauprestation.php @@ -0,0 +1,23 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Consultertableauprestation'); + $this->college_temp = new College_temp(); + } + + public function index() { + $idCollege = $_SESSION['idCollege_C']; + + $tableau_prestations = $this->college_temp->gettableauprestationscollege($idCollege); + + $this->genererVue(array('tableau_prestations' => $tableau_prestations)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurDemandederogation.php b/Controleur_sav/ControleurDemandederogation.php new file mode 100755 index 0000000..b6506c8 --- /dev/null +++ b/Controleur_sav/ControleurDemandederogation.php @@ -0,0 +1,19 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Demandederogation'); + + $this->derogation = (new Derogation())->getListe(); + } + public function index() { + $this->genererVue(array('derogation' => $this->derogation)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurDetailbaremecollege.php b/Controleur_sav/ControleurDetailbaremecollege.php new file mode 100755 index 0000000..3d34aa9 --- /dev/null +++ b/Controleur_sav/ControleurDetailbaremecollege.php @@ -0,0 +1,60 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Detailbaremecollege'); + + $this->bareme = new Baremepriseencharge(); + $this->garantie = new Garantiesbaremepriseencharge(); + $this->oui_non = new Ouinon(); + } + + public function index() + { + $idBaremePriseEnCharge = $this->requete->getParametreFormulaire("id"); + + $bareme = $this->bareme->getBaremepriseenchargeId($idBaremePriseEnCharge); + + $_SESSION['idBaremePriseEnCharge'] = $idBaremePriseEnCharge; + + $idCollegeTemp = $_SESSION['idCollegeTemp']; + $idCollege = $_SESSION['idCollege_C']; + + $garantiesajoutees = $this->garantie->getGarantiesProduit($bareme["codeProduit"], $idBaremePriseEnCharge); + + $actif = $this->oui_non->getListe(); + $tmBareme = $this->garantie->getTmBareme($idBaremePriseEnCharge); + + $maxDateEffetBareme = $this->garantie->getMaxDateEffetBareme($idBaremePriseEnCharge); + + $_SESSION['OrigineBareme'] = "Detailbaremecollege"; + + $this->genererVue(array( + 'bareme' => $bareme, + 'garantiesajoutees' => $garantiesajoutees, + 'actif' => $actif, + 'tmBareme' => $tmBareme, + 'maxDateEffetBareme' => $maxDateEffetBareme + )); + } + + public function validerbaremelettrecle() + { + $this->garantie->validerBaremeLettreCleCollege(); + + // $this->rediriger("Consultercollege"); + $this->rediriger("Collegepolice"); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurDiagnosticsconsbeneficiaire.php b/Controleur_sav/ControleurDiagnosticsconsbeneficiaire.php new file mode 100755 index 0000000..51a3896 --- /dev/null +++ b/Controleur_sav/ControleurDiagnosticsconsbeneficiaire.php @@ -0,0 +1,17 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Diagnosticsconsbeneficiaire'); + } + + public function index() + { + $this->genererVue(); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurDossiercons.php b/Controleur_sav/ControleurDossiercons.php new file mode 100755 index 0000000..72784a0 --- /dev/null +++ b/Controleur_sav/ControleurDossiercons.php @@ -0,0 +1,20 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Dossiercons'); + + $_SESSION['numeroFeuilleMaladie_C'] = "0"; + $_SESSION['numeroBonConsultation_C'] = "0"; + } + + public function index() + { + $this->genererVue(); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurDossiers.php b/Controleur_sav/ControleurDossiers.php new file mode 100755 index 0000000..389f5c1 --- /dev/null +++ b/Controleur_sav/ControleurDossiers.php @@ -0,0 +1,27 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Dossiers'); + + $this->feuillemaladie = new Feuillemaladie(); + } + + public function index() { + $idBeneficiaire = $_SESSION['idBeneficiaire_C']; + $d1 = $_SESSION['dUneSemaineAvant_C']; + $d2 = date('Y-m-d'); + + $feuillemaladies = $this->feuillemaladie->getfeuillesmaladie($idBeneficiaire, $d1, $d2) ; + + $this->genererVue(array('feuillemaladies' => $feuillemaladies)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurDossiersfamille.php b/Controleur_sav/ControleurDossiersfamille.php new file mode 100755 index 0000000..cce3634 --- /dev/null +++ b/Controleur_sav/ControleurDossiersfamille.php @@ -0,0 +1,27 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Dossiersfamille'); + + $this->feuillemaladie = new Feuillemaladie(); + } + + public function index() { + $idAdherent = $_SESSION['idAdherent_C']; + $d1 = $_SESSION['dUneSemaineAvant_C']; + $d2 = date('Y-m-d'); + + $feuillemaladies = $this->feuillemaladie->getfeuillesmaladiefamille($idAdherent, $d1, $d2) ; + + $this->genererVue(array('feuillemaladies' => $feuillemaladies)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurEnvoisms.php b/Controleur_sav/ControleurEnvoisms.php new file mode 100755 index 0000000..a5ec7cf --- /dev/null +++ b/Controleur_sav/ControleurEnvoisms.php @@ -0,0 +1,25 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Envoisms'); + $this->prestataire = new Prestataire(); + } + + public function index() + { + $prestataires = $this->prestataire->getListe(); + + $this->genererVue(array('prestataires' => $prestataires)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurEnvoiwhatsappcon.php b/Controleur_sav/ControleurEnvoiwhatsappcon.php new file mode 100755 index 0000000..99abb65 --- /dev/null +++ b/Controleur_sav/ControleurEnvoiwhatsappcon.php @@ -0,0 +1,19 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Envoiwhatsappcon'); + } + + public function index() + { + $this->genererVue(); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurErreur.php b/Controleur_sav/ControleurErreur.php new file mode 100755 index 0000000..0c91117 --- /dev/null +++ b/Controleur_sav/ControleurErreur.php @@ -0,0 +1,20 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue("Erreur"); + } + + public function index() + { + $msgErreur = $this->requete->getParametre("id"); + $this->genererVue(array('msgErreur' => $msgErreur)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurExclusion.php b/Controleur_sav/ControleurExclusion.php new file mode 100755 index 0000000..1f7c7b3 --- /dev/null +++ b/Controleur_sav/ControleurExclusion.php @@ -0,0 +1,25 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Exclusion'); + + $this->exclusion = new Exclusioncollege(); + } + + public function index() { + $idCollege = $_SESSION['idCollege_C']; + + $exclusions = $this->exclusion->getExclusionFamille($idCollege); + + $this->genererVue(array('exclusions' => $exclusions)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurExclusionfam.php b/Controleur_sav/ControleurExclusionfam.php new file mode 100755 index 0000000..b84c807 --- /dev/null +++ b/Controleur_sav/ControleurExclusionfam.php @@ -0,0 +1,25 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Exclusionfam'); + + $this->exclusion = new Exclusioncollege(); + } + + public function index() { + $idCollege = $_SESSION['idCollege_C']; + + $exclusions = $this->exclusion->getExclusionFamille($idCollege); + + $this->genererVue(array('exclusions' => $exclusions)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurExclusionstandards.php b/Controleur_sav/ControleurExclusionstandards.php new file mode 100755 index 0000000..6bf760f --- /dev/null +++ b/Controleur_sav/ControleurExclusionstandards.php @@ -0,0 +1,65 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Exclusionstandards'); + + $this->feuillemaladie = new Feuillemaladie(); + $this->adherent = new Adherent(); + $this->beneficiaire = new Beneficiaire(); + $this->garantieadherent = new Garantieadherent(); + $this->garantie = new Garantie(); + } + + public function index() { + $idAdherent = $_SESSION['idAdherent_C']; + $d1 = $_SESSION['dUneSemaineAvant_C']; + $d2 = date('Y-m-d'); + + $feuillemaladies = $this->feuillemaladie->getfeuillesmaladiefamille($idAdherent, $d1, $d2); + $prestation = $this->adherent->getlisteprestations(); + $numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire"); + + $idPolice = $_SESSION['idPolice_C']; + $idAdherent = $_SESSION['idAdherent_C']; + $idBeneficiaire = isset($_SESSION['idBeneficiaire_C']) ? (int)$_SESSION['idBeneficiaire_C'] : null; + + $dateJour = date('Y-m-d'); + + $adherent = $this->adherent->getContexteAdherentId($idAdherent); + $beneficiaires = $this->beneficiaire->getBeneficiairesId($idAdherent, $dateJour); + + $garantieadherents = $this->garantieadherent->getGarantieAdherent($idAdherent); + + if ($idBeneficiaire !== null) { + $actes = $this->garantieadherent->getBaremePlafondAdherent($idAdherent, $idBeneficiaire); + } else { + $actes = null; + } + + $this->adherent->controlerplafondadherentannuel($idAdherent); + $_SESSION['controlerPlafondBeneficiaire'] = "0"; + + $limite_adherent = $this->garantieadherent->getLimitesAdherent($idAdherent); + $garanties = $this->garantie->getListePourActe(); + + $this->genererVue(array( + 'adherent' => $adherent,'beneficiaires' => $beneficiaires,'garantieadherents' => $garantieadherents,'limite_adherent' => $limite_adherent,'prestation' => $prestation,'garanties' => $garanties,'numeroBeneficiaire' => $numeroBeneficiaire, + 'actes' => $actes)); + } +} diff --git a/Controleur_sav/ControleurFacturecons.php b/Controleur_sav/ControleurFacturecons.php new file mode 100755 index 0000000..e16e360 --- /dev/null +++ b/Controleur_sav/ControleurFacturecons.php @@ -0,0 +1,20 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Facturecons'); + + $_SESSION['idFacture_C'] = "0"; + + } + + public function index() + { + $this->genererVue(); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurFactures.php b/Controleur_sav/ControleurFactures.php new file mode 100755 index 0000000..3b9419a --- /dev/null +++ b/Controleur_sav/ControleurFactures.php @@ -0,0 +1,27 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Factures'); + + $this->facture = new Facture(); + } + + public function index() { + $idBeneficiaire = $_SESSION['idBeneficiaire_C']; + $d1 = $_SESSION['dUneSemaineAvant_C']; + $d2 = date('Y-m-d'); + + $factures = $this->facture->getfactures($idBeneficiaire, $d1, $d2) ; + + $this->genererVue(array('factures' => $factures)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurFacturesfamille.php b/Controleur_sav/ControleurFacturesfamille.php new file mode 100755 index 0000000..c47bcf1 --- /dev/null +++ b/Controleur_sav/ControleurFacturesfamille.php @@ -0,0 +1,27 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Facturesfamille'); + + $this->facture = new Facture(); + } + + public function index() { + $idAdherent = $_SESSION['idAdherent_C']; + $d1 = $_SESSION['dUneSemaineAvant_C']; + $d2 = date('Y-m-d'); + + $factures = $this->facture->getfacturesfamille($idAdherent, $d1, $d2) ; + + $this->genererVue(array('factures' => $factures)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurFacturesfeuille.php b/Controleur_sav/ControleurFacturesfeuille.php new file mode 100755 index 0000000..a011ccd --- /dev/null +++ b/Controleur_sav/ControleurFacturesfeuille.php @@ -0,0 +1,17 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Facturesfeuille'); + } + + public function index() + { + $this->genererVue(); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurFeuillemaladie.php b/Controleur_sav/ControleurFeuillemaladie.php new file mode 100755 index 0000000..0f8713f --- /dev/null +++ b/Controleur_sav/ControleurFeuillemaladie.php @@ -0,0 +1,46 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Feuillemaladie'); + + $this->feuillemaladie = new Feuillemaladie(); + $this->prestation = new Prestationactes(); + + $_SESSION['codeTypeFacture_C'] = "CSO"; + } + + public function index() + { + $numeroFeuilleMaladie = $_SESSION['numeroFeuilleMaladie_C']; + $codePrestataire = $_SESSION['codePrestataire_C']; + + $garantieadherent_temp = null; + + $infosfeuillemaladie = $this->feuillemaladie->getinfosfeuillemaladie($numeroFeuilleMaladie); + $facture = $infosfeuillemaladie['facture']; + + $this->prestation->vider_garantieadherent_temp($numeroFeuilleMaladie, $codePrestataire); + + if($facture==0) + { + $garantieadherent_temp = $this->prestation->init_garantieadherent_temp($numeroFeuilleMaladie, $codePrestataire); + } + + $feuillemaladie = $this->feuillemaladie->getfeuillemaladie($numeroFeuilleMaladie); + + $prestations = $this->prestation->getprestationsfeuille($numeroFeuilleMaladie, $codePrestataire); + + $this->genererVue(array('feuillemaladie' => $feuillemaladie, 'prestations' => $prestations, + 'garantieadherent_temp' => $garantieadherent_temp)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurFeuillemaladiecons.php b/Controleur_sav/ControleurFeuillemaladiecons.php new file mode 100755 index 0000000..b48ce4d --- /dev/null +++ b/Controleur_sav/ControleurFeuillemaladiecons.php @@ -0,0 +1,41 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Feuillemaladiecons'); + + $this->feuillemaladie = new Feuillemaladie(); + $this->prestation = new Prestationactes(); + $this->beneficiaire = new Beneficiaire(); + } + + public function index() + { + $numeroFeuilleMaladie = $_SESSION['numeroFeuilleMaladie_C']; + + $feuillemaladie = $this->feuillemaladie->getfeuillemaladie($numeroFeuilleMaladie); + + $idBeneficiaire = $feuillemaladie['idBeneficiaire']; + + $beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $codePrestataire = $_SESSION['codePrestataire_C']; + + $feuillemaladie = $this->feuillemaladie->getfeuillemaladie($numeroFeuilleMaladie); + + $prestations = $this->prestation->getprestationsfeuille($numeroFeuilleMaladie, $codePrestataire); + + $this->genererVue(array('feuillemaladie' => $feuillemaladie, 'prestations' => $prestations)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurFicheadherent.php b/Controleur_sav/ControleurFicheadherent.php new file mode 100755 index 0000000..4748ea9 --- /dev/null +++ b/Controleur_sav/ControleurFicheadherent.php @@ -0,0 +1,43 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue("Ficheadherent"); + + $this->adherent = new Adherent(); + $this->beneficiaire = new Beneficiaire(); + $this->garantieadherent = new Garantieadherent(); + } + + public function index() { + + $idPolice = $_SESSION['idPolice_C']; + $idAdherent = $_SESSION['idAdherent_C']; + + $dateJour = date('Y-m-d'); + + $adherent = $this->adherent->getContexteAdherentId($idAdherent); + $beneficiaires = $this->beneficiaire->getBeneficiairesId($idAdherent, $dateJour); + $garantieadherents = $this->garantieadherent->getGarantieAdherent($idAdherent); + + $this->adherent->controlerplafondadherentannuel($idAdherent); + $_SESSION['controlerPlafondBeneficiaire'] = "0"; + + $limite_adherent = $this->garantieadherent->getLimitesAdherent($idAdherent); + + $this->genererVue(array('adherent' => $adherent, 'beneficiaires' => $beneficiaires, + 'garantieadherents' => $garantieadherents, 'limite_adherent' => $limite_adherent)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurFichebeneficiaire.php b/Controleur_sav/ControleurFichebeneficiaire.php new file mode 100755 index 0000000..e0b75a5 --- /dev/null +++ b/Controleur_sav/ControleurFichebeneficiaire.php @@ -0,0 +1,336 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Fichebeneficiaire'); + + $this->beneficiaire = new Beneficiaire(); + $this->police = new Police(); + $this->garantieadherent = new Garantieadherent(); + + $this->tarif = new Tarifsactes(); + + $_SESSION['retour'] = "Fichebeneficiaire"; + } + + public function index() + { + $codeSociete = $this->requete->getSession()->getAttribut('codeSociete'); + $id = $this->requete->getParametre("id"); + $idBeneficiaire = $id; + + $beneficiaire_existe = $this->beneficiaire->getContexteBeneficiaireId($id); + + if ($beneficiaire_existe) + { + $beneficiaire = $this->beneficiaire->getBeneficiaireId($id); + + $_SESSION['idBeneficiaire_C'] = $id; + + $police = $this->beneficiaire->getSituationPolice($idBeneficiaire); // plafond Famille + + $college = $this->beneficiaire->getSituationCollege($idBeneficiaire); // Plafond Beneficiaire + + + $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $idAdherent = $_SESSION['idAdherent_C']; + + $_SESSION['lienPhoto_C'] = $beneficiaire['lienPhoto']; + + $garantieadherents = $this->garantieadherent->getGarantieBeneficiaire($idBeneficiaire); + + $message = ""; + $nouveau_fichier = "Rien"; + + if(!empty($_POST) && $_SESSION['faceRegistered_C'] != '1' && $_SESSION['assureAjoutPhoto']=="1") + { + define('TARGET', $_SESSION['lienPhotoFace']); // Repertoire cible + define('MAX_SIZE', 100000); // Taille max en octets du fichier + define('WIDTH_MAX', 800); // Largeur max de l'image en pixels + define('HEIGHT_MAX', 800); // Hauteur max de l'image en pixels + + $tabExt = array('jpg','png','jpeg'); // Extensions autorisees + $infosImg = array(); + + $extension = ''; + $nomImage = ''; + $nomImageCrypte = ''; + + if(!is_dir(TARGET)) + { + if(!mkdir(TARGET, 0755)) + { + $message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !'; + } + } + + if(!empty($_FILES['fichier_upload']['name'])) + { + + if(!empty($_FILES['fichier_upload']['tmp_name'])) + { + $extension = pathinfo($_FILES['fichier_upload']['name'], PATHINFO_EXTENSION); + + if(in_array(strtolower($extension),$tabExt)) + { + $infosImg = getimagesize($_FILES['fichier_upload']['tmp_name']); + + if($infosImg[2] >= 1 && $infosImg[2] <= 14) + { + if(isset($_FILES['fichier_upload']['error']) + && UPLOAD_ERR_OK === $_FILES['fichier_upload']['error']) + { + $rand = rand(1,1000000); + $nomImageTemp = $_SESSION['numeroBeneficiaire_C']."_".$rand.'.'. $extension; + + + if(move_uploaded_file($_FILES['fichier_upload']['tmp_name'], TARGET.$nomImageTemp)) + { + $src = TARGET.$nomImageTemp; + + $rand = rand(1,1000000); + $nomImage = $_SESSION['numeroBeneficiaire_C']."_".$rand.'.jpg'; + $nomImageCrypte = $_SESSION['numeroBeneficiaire_C']."_".$rand.'.bin'; + + $imgtype = image_type_to_mime_type($infosImg[2]); + + switch ($imgtype) { + case 'image/jpeg': + $source_image = imagecreatefromjpeg($src); + break; + case 'image/jpg': + $source_image = imagecreatefromjpeg($src); + break; + case 'image/png': + $source_image = imagecreatefrompng($src); + break; + } + + + $width = imagesx($source_image); + + + $desired_width = $width; + + if($desired_width > $_SESSION['largeurPhoto']) + { + $desired_width = $_SESSION['largeurPhoto']; + } + + $height = imagesy($source_image); + + $desired_height = floor($height * ($desired_width / $width)); + + $virtual_image = imagecreatetruecolor($desired_width, $desired_height); + + imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height); + + imagejpeg($virtual_image, TARGET.$nomImage, -1); + + encryptImage(TARGET.$nomImage, TARGET.$nomImageCrypte); + + $nouveau_fichier = $nomImageCrypte; + + $message = 'Chargement réussi !'; + $this->beneficiaire->changerPhoto($id, $nomImageCrypte); + // + $this->beneficiaire->registerface($_SESSION['numeroBeneficiaire_C']); + $_SESSION['lienPhoto_C'] = $nomImageCrypte; + + unlink(TARGET.$nomImageTemp); + + // $this->index(); + $this->rediriger("Fichebeneficiaire/".$idBeneficiaire); + } + else + { + $message = 'Problème lors du chargement !'; + } + } + else + { + $message = 'Une erreur interne a empêché le chargement'; + } + } + else + { + $message = 'Le fichier à charger n\'est pas une image !'; + } + } + else + { + $message = 'L\'extension du fichier est incorrecte !'; + } + } + else + { + $message = 'Revoir votre fichier image!'; + } + } + else + { + $message = 'Veuillez sélectionner un fichier SVP !'; + } + } + + $_SESSION['dateEffetCouvert'] = $beneficiaire['dateEffetCouvert']; + + $codeTypeTarifActe = "TBEN"; + + $tarifActe = $this->tarif->getTarifActeByType($codeTypeTarifActe); + + $prestationsParMois = $this->beneficiaire->getPrestationsmensuelles($idBeneficiaire); + + + $tabConsoParMois = [ + 'mois' => [], + 'consos' => [] + ]; + + $tabConsoParGaranties = [ + 'garanties' => [], + 'depenses' => [], + 'plafonds' => [] + ]; + + foreach ($prestationsParMois as $v) { + $tabConsoParMois['mois'][] = $v['mois']; + $tabConsoParMois['consos'][] = $v['consommationBeneficiaire']; + } + + foreach ($garantieadherents as $v) { + $tabConsoParGaranties['garanties'][] = $v['codeGarantie']; + $tabConsoParGaranties['depenses'][] = $v['consommation']; + $tabConsoParGaranties['plafonds'][] = $v['plafond']; + } + + $dataConsoParMois = json_encode($tabConsoParMois,JSON_NUMERIC_CHECK); + $dataConsoParGaranties = json_encode($tabConsoParGaranties,JSON_NUMERIC_CHECK); + + + $this->genererVue + ( + array + ( + 'beneficiaire' => $beneficiaire, + 'message' => $message, + 'garantieadherents' => $garantieadherents, + 'police' => $police, + 'college' => $college, + 'tarifActe' => $tarifActe, + 'dataConsoParMois' => $dataConsoParMois, + 'dataConsoParGaranties' => $dataConsoParGaranties + ) + ); + } + + } + + // 26/09/2025 + public function ebeneenregistrerface() + { + $_SESSION['p_messageFace'] = ""; + + if(isset($_POST['image_face'])) + { + $_SESSION['okId_face'] = "-1"; + $_SESSION['okId'] = "-1"; + + $path = "Temp/"; + $extension = "jpeg"; + + $data = $_POST['image_face']; + + $data = str_replace('data:image/jpeg;base64,', '', $data); + + $data = base64_decode($data); + + $username = $_SESSION['numeroBeneficiaire_C']; + + $date = date('YmdHis'); + $file_name = "img_v_".$date.uniqid().".".$extension; + $chemin = $path.$file_name; + + file_put_contents($chemin, $data); + + $rand = rand(1,1000000); + $nomImage = $username."_".$rand.'.'. $extension; + $nomImageCrypte_0 = $username."_".$rand.'.bin'; + $nomImageCrypte = $_SESSION['lienPhotoFace'] . $nomImageCrypte_0; + + $this->beneficiaire->init_traiterlaface('1'); + + $cheminNew = $_SESSION['lienPhotoFace'] . $nomImage; + + // echo "chemin=>$chemin ; cheminNew=>$cheminNew"; + // exit(); + + $_SESSION['okId_face'] = "1"; + + // réduction de la taille de l'immage + $infosImg = getimagesize($chemin); + $src = $chemin; + $imgtype = image_type_to_mime_type($infosImg[2]); + + switch ($imgtype) + { + case 'image/jpeg': + $source_image = imagecreatefromjpeg($src); + break; + case 'image/jpg': + $source_image = imagecreatefromjpeg($src); + break; + case 'image/png': + $source_image = imagecreatefrompng($src); + break; + } + + $width = imagesx($source_image); + $desired_width = $width; + if ($desired_width > $_SESSION['largeurPhoto']) + { + $desired_width = $_SESSION['largeurPhoto']; + } + $height = imagesy($source_image); + + $desired_height = floor($height * ($desired_width / $width)); + + $virtual_image = imagecreatetruecolor($desired_width, $desired_height); + + imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height); + + if (imagejpeg($virtual_image, $cheminNew, -1)) + { + encryptImage($cheminNew, $nomImageCrypte); + + unlink($cheminNew); + + $this->beneficiaire->registerface($username); + + $idBeneficiaire = $_SESSION['idBeneficiaire_C']; + // $this->beneficiaire->changerPhoto($idBeneficiaire, $nomImage); + $this->beneficiaire->changerPhoto($idBeneficiaire, $nomImageCrypte_0); + + $_SESSION['p_messageFace'] = "Enrôlement effectué avec succès! / Enrollment completed successfully!!"; + $this->genererVueAjax(array('messageFace' => $_SESSION['p_messageFace'], 'msgErreur' => $_SESSION['p_messageFace'], 'photo_succes' => "1")); + } + $this->beneficiaire->resultat_traitement_face($username, '1', ''); + unlink($chemin); + } + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurFicheprestataire.php b/Controleur_sav/ControleurFicheprestataire.php new file mode 100755 index 0000000..eac4d2e --- /dev/null +++ b/Controleur_sav/ControleurFicheprestataire.php @@ -0,0 +1,29 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue("Ficheprestataire"); + + $this->prestataire = new Prestataire(); + + $_SESSION['modeDevis'] = "0"; + } + public function index() { + $idPrestataire = $this->requete->getParametreFormulaire("id"); + + $prestataire = $this->prestataire->getunprestataire($idPrestataire); + + + + + + $this->genererVue(array('prestataire' => $prestataire)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurFraisfuneraire.php b/Controleur_sav/ControleurFraisfuneraire.php new file mode 100755 index 0000000..8a7fb80 --- /dev/null +++ b/Controleur_sav/ControleurFraisfuneraire.php @@ -0,0 +1,25 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Fraisfuneraire'); + + $this->fraisfuneraire = new Fraisfuneraire(); + } + + public function index() + { + $idBeneficiaire = $_SESSION['idBeneficiaire_C']; + + $fraisfuneraire = $this->fraisfuneraire->getfraisfuneraire($idBeneficiaire); + + $this->genererVue(array('fraisfuneraire' => $fraisfuneraire)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurGed.php b/Controleur_sav/ControleurGed.php new file mode 100755 index 0000000..ac80c6b --- /dev/null +++ b/Controleur_sav/ControleurGed.php @@ -0,0 +1,118 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Ged'); + + $this->ged = new Ged(); + } + + public function index($msgErreur=null) + { + $message = ""; + + $nouveau_fichier = "rien"; + + if(!empty($_POST)) + { + define('TARGET', $_SESSION['cheminGed']); // Repertoire cible + define('MAX_SIZE', 10000000); // Taille max en octets du fichier + + + $tabExt = array("avi", "bmp", "doc", "docx", "gif", "jpeg", "jpg", "jpe", "mkv", "mp3", "mp4", "pdf", "png", "pps", "xls", "xlsx", "wav"); // Extensions autorisees + + // Variables + $extension = ''; + + if( !is_dir(TARGET) ) + { + if( !mkdir(TARGET, 0755) ) + { + $message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !'; + } + } + + // On verifie si le champ est rempli + if( !empty($_FILES['fichier_upload']['name']) ) + { + // Recuperation de l'extension du fichier + + $extension = pathinfo($_FILES['fichier_upload']['name'], PATHINFO_EXTENSION); + + // On verifie l'extension du fichier + if(in_array(strtolower($extension), $tabExt)) + { + $message = $_FILES['fichier_upload']['size']; + + // On verifie les dimensions et taille du fichier + if($_FILES['fichier_upload']['size'] <= MAX_SIZE) + { + $taille = $_FILES['fichier_upload']['size']; + + // Parcours du tableau d'erreurs + if(isset($_FILES['fichier_upload']['error']) && UPLOAD_ERR_OK === $_FILES['fichier_upload']['error']) + { + // On renomme le fichier + $nomOrigine = $_FILES['fichier_upload']['name']; + $nouveau_fichier = dateJourSql()."_".uniqid().".".$extension; + + // Si c'est OK, on teste l'upload + if(move_uploaded_file($_FILES['fichier_upload']['tmp_name'], TARGET.$nouveau_fichier)) + { + $message = 'Chargé avec succès / Uploaded successfully'; + + + // on va envoyer dans la base de données + $this->ged->enregistrerged($nomOrigine, $nouveau_fichier, $taille); + } + else + { + // Sinon on affiche une erreur systeme + $message = 'Problème lors du chargement !'; + } + } + else + { + $message = 'Une erreur interne a empêché le chargement'; + } + } + else + { + $message .= $_FILES['fichier_upload']['size']." Erreur dans les dimensions du fichier !"; + // $message = 'Erreur dans les dimensions du fichier !'; + } + } + else + { + // Sinon on affiche une erreur pour l'extension + $message = 'Extension du fichier est incorrecte !'; + } + } + else + { + // Sinon on affiche une erreur pour le champ vide + $message = 'Veuillez sélectionner un fichier SVP! / Please select a file!'; + } + + // fin upload + } + + $msgErreur = $message; + + $d1 = $_SESSION['dUneSemaineAvant_C']; + $d2 = date('Y-m-d'); + + $geds = $this->ged->getged($d1, $d2, ""); + + unset($_FILES['fichier_upload']); + + $this->genererVue(array('geds' => $geds, 'msgErreur' => $msgErreur)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurGedadherent.php b/Controleur_sav/ControleurGedadherent.php new file mode 100755 index 0000000..a5cd472 --- /dev/null +++ b/Controleur_sav/ControleurGedadherent.php @@ -0,0 +1,120 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Gedadherent'); + + $this->ged = new Ged(); + } + + public function index($msgErreur=null) + { + $message = ""; + + $nouveau_fichier = "rien"; + + if(!empty($_POST)) + { + define('TARGET', $_SESSION['cheminGed']); // Repertoire cible + define('MAX_SIZE', 10000000); // Taille max en octets du fichier + + // Tableaux de donnees + // ".avi", ".bmp", ".doc", ".docx", ".gif", ".jpeg", "jpg", "jpe", ".mkv", ".mp3", ".pdf", ".png", ".pps", ".xls", ".xlsx", ".wav" + // $tabExt = array('jpg','png','jpeg'); // Extensions autorisees + + $tabExt = array("avi", "bmp", "doc", "docx", "gif", "jpeg", "jpg", "jpe", "mkv", "mp3", "mp4", "pdf", "png", "pps", "xls", "xlsx", "wav"); // Extensions autorisees + + // Variables + $extension = ''; + + if( !is_dir(TARGET) ) + { + if( !mkdir(TARGET, 0755) ) + { + $message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !'; + } + } + + // On verifie si le champ est rempli + if( !empty($_FILES['fichier_upload']['name']) ) + { + // Recuperation de l'extension du fichier + + $extension = pathinfo($_FILES['fichier_upload']['name'], PATHINFO_EXTENSION); + + // On verifie l'extension du fichier + if(in_array(strtolower($extension), $tabExt)) + { + $message = $_FILES['fichier_upload']['size']; + + // On verifie les dimensions et taille du fichier + if($_FILES['fichier_upload']['size'] <= MAX_SIZE) + { + $taille = $_FILES['fichier_upload']['size']; + + // Parcours du tableau d'erreurs + if(isset($_FILES['fichier_upload']['error']) && UPLOAD_ERR_OK === $_FILES['fichier_upload']['error']) + { + // On renomme le fichier + $nomOrigine = $_FILES['fichier_upload']['name']; + $nouveau_fichier = dateJourSql()."_".uniqid().".".$extension; + + // Si c'est OK, on teste l'upload + if(move_uploaded_file($_FILES['fichier_upload']['tmp_name'], TARGET.$nouveau_fichier)) + { + $message = 'Chargé avec succès / Uploaded successfully'; + + // on va envoyer dans la base de données + $this->ged->enregistrergedadherent($nomOrigine, $nouveau_fichier, $taille); + } + else + { + // Sinon on affiche une erreur systeme + $message = 'Problème lors du chargement !'; + } + } + else + { + $message = 'Une erreur interne a empêché le chargement'; + } + } + else + { + $message .= $_FILES['fichier_upload']['size']." Erreur dans les dimensions du fichier !"; + // $message = 'Erreur dans les dimensions du fichier !'; + } + } + else + { + // Sinon on affiche une erreur pour l'extension + $message = 'Extension du fichier est incorrecte !'; + } + } + else + { + // Sinon on affiche une erreur pour le champ vide + $message = 'Veuillez sélectionner un fichier SVP! / Please select a file!'; + } + + // fin upload + } + + $msgErreur = $message; + + $d1 = $_SESSION['dUneSemaineAvant_C']; + $d2 = date('Y-m-d'); + + $geds = $this->ged->getgedadherent($d1, $d2, ""); + + unset($_FILES['fichier_upload']); + + $this->genererVue(array('geds' => $geds, 'msgErreur' => $msgErreur)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurGedbeneficiaire.php b/Controleur_sav/ControleurGedbeneficiaire.php new file mode 100755 index 0000000..249502e --- /dev/null +++ b/Controleur_sav/ControleurGedbeneficiaire.php @@ -0,0 +1,120 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Gedbeneficiaireprest'); + + $this->ged = new Ged(); + } + + public function index($msgErreur=null) + { + + $message = ""; + + $nouveau_fichier = "Rien"; + + if(!empty($_POST)) + { + define('TARGET', $_SESSION['cheminGed']); // Repertoire cible + define('MAX_SIZE', 10000000); // Taille max en octets du fichier + + // Tableaux de donnees + // ".avi", ".bmp", ".doc", ".docx", ".gif", ".jpeg", "jpg", "jpe", ".mkv", ".mp3", ".pdf", ".png", ".pps", ".xls", ".xlsx", ".wav" + // $tabExt = array('jpg','png','jpeg'); // Extensions autorisees + + $tabExt = array("avi", "bmp", "doc", "docx", "gif", "jpeg", "jpg", "jpe", "mkv", "mp3", "mp4", "pdf", "png", "pps", "xls", "xlsx", "wav"); // Extensions autorisees + + // Variables + $extension = ''; + + if( !is_dir(TARGET) ) + { + if( !mkdir(TARGET, 0755) ) + { + $message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !'; + } + } + + // On verifie si le champ est rempli + if( !empty($_FILES['fichier_upload']['name']) ) + { + // Recuperation de l'extension du fichier + + $extension = pathinfo($_FILES['fichier_upload']['name'], PATHINFO_EXTENSION); + + // On verifie l'extension du fichier + if(in_array(strtolower($extension), $tabExt)) + { + $message = $_FILES['fichier_upload']['size']; + + // On verifie les dimensions et taille du fichier + if($_FILES['fichier_upload']['size'] <= MAX_SIZE) + { + $taille = $_FILES['fichier_upload']['size']; + + // Parcours du tableau d'erreurs + if(isset($_FILES['fichier_upload']['error']) && UPLOAD_ERR_OK === $_FILES['fichier_upload']['error']) + { + // On renomme le fichier + $nomOrigine = $_FILES['fichier_upload']['name']; + $nouveau_fichier = dateJourSql()."_".uniqid().".".$extension; + + // Si c'est OK, on teste l'upload + if(move_uploaded_file($_FILES['fichier_upload']['tmp_name'], TARGET.$nouveau_fichier)) + { + $message = 'Chargé avec succès / Uploaded successfully'; + + // on va envoyer dans la base de données + $this->ged->enregistrergedbeneficiaireprest($nomOrigine, $nouveau_fichier, $taille); + } + else + { + // Sinon on affiche une erreur systeme + $message = 'Problème lors du chargement !'; + } + } + else + { + $message = 'Une erreur interne a empêché le chargement'; + } + } + else + { + $message .= $_FILES['fichier_upload']['size']." Erreur dans les dimensions du fichier !"; + // $message = 'Erreur dans les dimensions du fichier !'; + } + } + else + { + // Sinon on affiche une erreur pour l'extension + $message = 'Extension du fichier est incorrecte !'; + } + } + else + { + // Sinon on affiche une erreur pour le champ vide + $message = 'Veuillez sélectionner un fichier SVP! / Please select a file!'; + } + + // fin upload + } + + $msgErreur = $message; + + $d1 = $_SESSION['dUneSemaineAvant_C']; + $d2 = date('Y-m-d'); + + $geds = $this->ged->getgedbeneficiaireprest($d1, $d2, ""); + + unset($_FILES['fichier_upload']); + + $this->genererVue(array('geds' => $geds, 'msgErreur' => $msgErreur)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurGedbeneficiaireass.php b/Controleur_sav/ControleurGedbeneficiaireass.php new file mode 100755 index 0000000..d7606e9 --- /dev/null +++ b/Controleur_sav/ControleurGedbeneficiaireass.php @@ -0,0 +1,122 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Gedbeneficiaireass'); + + $this->ged = new Ged(); + } + + public function index($msgErreur=null) + { + + $message = ""; + + $nouveau_fichier = "Rien"; + + if(!empty($_POST)) + { + define('TARGET', $_SESSION['cheminGed']); // Repertoire cible + define('MAX_SIZE', 10000000); // Taille max en octets du fichier + + // Tableaux de donnees + // ".avi", ".bmp", ".doc", ".docx", ".gif", ".jpeg", "jpg", "jpe", ".mkv", ".mp3", ".pdf", ".png", ".pps", ".xls", ".xlsx", ".wav" + // $tabExt = array('jpg','png','jpeg'); // Extensions autorisees + + $tabExt = array("avi", "bmp", "doc", "docx", "gif", "jpeg", "jpg", "jpe", "mkv", "mp3", "mp4", "pdf", "png", "pps", "xls", "xlsx", "wav"); // Extensions autorisees + + // Variables + $extension = ''; + + if( !is_dir(TARGET) ) + { + if( !mkdir(TARGET, 0755) ) + { + $message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !'; + } + } + + // On verifie si le champ est rempli + if( !empty($_FILES['fichier_upload']['name']) ) + { + // Recuperation de l'extension du fichier + + $extension = pathinfo($_FILES['fichier_upload']['name'], PATHINFO_EXTENSION); + + // On verifie l'extension du fichier + if(in_array(strtolower($extension), $tabExt)) + { + $message = $_FILES['fichier_upload']['size']; + + // On verifie les dimensions et taille du fichier + if($_FILES['fichier_upload']['size'] <= MAX_SIZE) + { + $taille = $_FILES['fichier_upload']['size']; + + // Parcours du tableau d'erreurs + if(isset($_FILES['fichier_upload']['error']) && UPLOAD_ERR_OK === $_FILES['fichier_upload']['error']) + { + // On renomme le fichier + $nomOrigine = $_FILES['fichier_upload']['name']; + $nouveau_fichier = dateJourSql()."_".uniqid().".".$extension; + + // Si c'est OK, on teste l'upload + if(move_uploaded_file($_FILES['fichier_upload']['tmp_name'], TARGET.$nouveau_fichier)) + { + $message = 'Chargé avec succès / Uploaded successfully'; + + // on va envoyer dans la base de données + $this->ged->enregistrergedbeneficiaireass($nomOrigine, $nouveau_fichier, $taille); + } + else + { + // Sinon on affiche une erreur systeme + $message = 'Problème lors du chargement !'; + } + } + else + { + $message = 'Une erreur interne a empêché le chargement'; + } + } + else + { + $message .= $_FILES['fichier_upload']['size']." Erreur dans les dimensions du fichier !"; + // $message = 'Erreur dans les dimensions du fichier !'; + } + } + else + { + // Sinon on affiche une erreur pour l'extension + $message = 'Extension du fichier est incorrecte !'; + } + } + else + { + // Sinon on affiche une erreur pour le champ vide + $message = 'Veuillez sélectionner un fichier SVP! / Please select a file!'; + } + + // fin upload + } + + $msgErreur = $message; + + $d1 = $_SESSION['dUneSemaineAvant_C']; + $d2 = date('Y-m-d'); + + // $geds = $this->ged->getgedbeneficiaireprest($d1, $d2, ""); + $geds = $this->ged->getgedbeneficiaire($d1, $d2, ""); + + unset($_FILES['fichier_upload']); + + $this->genererVue(array('geds' => $geds, 'msgErreur' => $msgErreur)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurGedbeneficiaireprest.php b/Controleur_sav/ControleurGedbeneficiaireprest.php new file mode 100755 index 0000000..62d8565 --- /dev/null +++ b/Controleur_sav/ControleurGedbeneficiaireprest.php @@ -0,0 +1,121 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Gedbeneficiaireprest'); + + $this->ged = new Ged(); + } + + public function index($msgErreur=null) + { + + $message = ""; + + $nouveau_fichier = "Rien"; + + if(!empty($_POST)) + { + define('TARGET', $_SESSION['cheminGed']); // Repertoire cible + define('MAX_SIZE', 10000000); // Taille max en octets du fichier + + // Tableaux de donnees + // ".avi", ".bmp", ".doc", ".docx", ".gif", ".jpeg", "jpg", "jpe", ".mkv", ".mp3", ".pdf", ".png", ".pps", ".xls", ".xlsx", ".wav" + // $tabExt = array('jpg','png','jpeg'); // Extensions autorisees + + $tabExt = array("avi", "bmp", "doc", "docx", "gif", "jpeg", "jpg", "jpe", "mkv", "mp3", "mp4", "pdf", "png", "pps", "xls", "xlsx", "wav"); // Extensions autorisees + + // Variables + $extension = ''; + + if( !is_dir(TARGET) ) + { + if( !mkdir(TARGET, 0755) ) + { + $message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !'; + } + } + + // On verifie si le champ est rempli + if( !empty($_FILES['fichier_upload']['name']) ) + { + // Recuperation de l'extension du fichier + + $extension = pathinfo($_FILES['fichier_upload']['name'], PATHINFO_EXTENSION); + + // On verifie l'extension du fichier + if(in_array(strtolower($extension), $tabExt)) + { + $message = $_FILES['fichier_upload']['size']; + + // On verifie les dimensions et taille du fichier + if($_FILES['fichier_upload']['size'] <= MAX_SIZE) + { + $taille = $_FILES['fichier_upload']['size']; + + // Parcours du tableau d'erreurs + if(isset($_FILES['fichier_upload']['error']) && UPLOAD_ERR_OK === $_FILES['fichier_upload']['error']) + { + // On renomme le fichier + $nomOrigine = $_FILES['fichier_upload']['name']; + $nouveau_fichier = dateJourSql()."_".uniqid().".".$extension; + + // Si c'est OK, on teste l'upload + if(move_uploaded_file($_FILES['fichier_upload']['tmp_name'], TARGET.$nouveau_fichier)) + { + $message = 'Chargé avec succès / Uploaded successfully'; + + // on va envoyer dans la base de données + $this->ged->enregistrergedbeneficiaireprest($nomOrigine, $nouveau_fichier, $taille); + } + else + { + // Sinon on affiche une erreur systeme + $message = 'Problème lors du chargement !'; + } + } + else + { + $message = 'Une erreur interne a empêché le chargement'; + } + } + else + { + $message .= $_FILES['fichier_upload']['size']." Erreur dans les dimensions du fichier !"; + // $message = 'Erreur dans les dimensions du fichier !'; + } + } + else + { + // Sinon on affiche une erreur pour l'extension + $message = 'Extension du fichier est incorrecte !'; + } + } + else + { + // Sinon on affiche une erreur pour le champ vide + $message = 'Veuillez sélectionner un fichier SVP! / Please select a file!'; + } + + // fin upload + } + + $msgErreur = $message; + + $d1 = $_SESSION['dUneSemaineAvant_C']; + $d2 = date('Y-m-d'); + + $geds = $this->ged->getgedbeneficiaireprest($d1, $d2, ""); + + unset($_FILES['fichier_upload']); + + $this->genererVue(array('geds' => $geds, 'msgErreur' => $msgErreur)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurGedfeuillemaladie.php b/Controleur_sav/ControleurGedfeuillemaladie.php new file mode 100755 index 0000000..fee447b --- /dev/null +++ b/Controleur_sav/ControleurGedfeuillemaladie.php @@ -0,0 +1,121 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Gedfeuillemaladie'); + + $this->ged = new Ged(); + } + + public function index($msgErreur=null) + { + + $message = ""; + + $nouveau_fichier = "rien"; + + if(!empty($_POST)) + { + define('TARGET', $_SESSION['cheminGed']); // Repertoire cible + define('MAX_SIZE', 10000000); // Taille max en octets du fichier + + // Tableaux de donnees + // ".avi", ".bmp", ".doc", ".docx", ".gif", ".jpeg", "jpg", "jpe", ".mkv", ".mp3", ".pdf", ".png", ".pps", ".xls", ".xlsx", ".wav" + // $tabExt = array('jpg','png','jpeg'); // Extensions autorisees + + $tabExt = array("avi", "bmp", "doc", "docx", "gif", "jpeg", "jpg", "jpe", "mkv", "mp3", "mp4", "pdf", "png", "pps", "xls", "xlsx", "wav"); // Extensions autorisees + + // Variables + $extension = ''; + + if( !is_dir(TARGET) ) + { + if( !mkdir(TARGET, 0755) ) + { + $message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !'; + } + } + + // On verifie si le champ est rempli + if( !empty($_FILES['fichier_upload']['name']) ) + { + // Recuperation de l'extension du fichier + + $extension = pathinfo($_FILES['fichier_upload']['name'], PATHINFO_EXTENSION); + + // On verifie l'extension du fichier + if(in_array(strtolower($extension), $tabExt)) + { + $message = $_FILES['fichier_upload']['size']; + + // On verifie les dimensions et taille du fichier + if($_FILES['fichier_upload']['size'] <= MAX_SIZE) + { + $taille = $_FILES['fichier_upload']['size']; + + // Parcours du tableau d'erreurs + if(isset($_FILES['fichier_upload']['error']) && UPLOAD_ERR_OK === $_FILES['fichier_upload']['error']) + { + // On renomme le fichier + $nomOrigine = $_FILES['fichier_upload']['name']; + $nouveau_fichier = dateJourSql()."_".uniqid().".".$extension; + + // Si c'est OK, on teste l'upload + if(move_uploaded_file($_FILES['fichier_upload']['tmp_name'], TARGET.$nouveau_fichier)) + { + $message = 'Chargé avec succès / Uploaded successfully'; + + // on va envoyer dans la base de données + $this->ged->enregistrergedfeuillemaladie($nomOrigine, $nouveau_fichier, $taille); + } + else + { + // Sinon on affiche une erreur systeme + $message = 'Problème lors du chargement !'; + } + } + else + { + $message = 'Une erreur interne a empêché le chargement'; + } + } + else + { + $message .= $_FILES['fichier_upload']['size']." Erreur dans les dimensions du fichier !"; + // $message = 'Erreur dans les dimensions du fichier !'; + } + } + else + { + // Sinon on affiche une erreur pour l'extension + $message = 'Extension du fichier est incorrecte !'; + } + } + else + { + // Sinon on affiche une erreur pour le champ vide + $message = 'Veuillez sélectionner un fichier SVP! / Please select a file!'; + } + + // fin upload + } + + $msgErreur = $message; + + $d1 = $_SESSION['dUneSemaineAvant_C']; + $d2 = date('Y-m-d'); + + $geds = $this->ged->getgedfeuillemaladie($d1, $d2, ""); + + unset($_FILES['fichier_upload']); + + $this->genererVue(array('geds' => $geds, 'msgErreur' => $msgErreur)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurHistoriquecontestation.php b/Controleur_sav/ControleurHistoriquecontestation.php new file mode 100755 index 0000000..d2a530d --- /dev/null +++ b/Controleur_sav/ControleurHistoriquecontestation.php @@ -0,0 +1,29 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Historiquecontestation'); + + $this->feuillemaladie = new Feuillemaladie(); + } + + public function index() { + $idAdherent = $_SESSION['idAdherent_C']; + $d1 = $_SESSION['debutExercice_C']; //$_SESSION['dUneSemaineAvant_C']; + $d2 = date('Y-m-d'); + + $feuillemaladies = $this->feuillemaladie->getfeuillesmaladiecontestee($idAdherent, $d1, $d2); + + //var_dump($feuillemaladies); die(); + + $this->genererVue(array('feuillemaladies' => $feuillemaladies)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurHistoriquerdv.php b/Controleur_sav/ControleurHistoriquerdv.php new file mode 100755 index 0000000..7c0f339 --- /dev/null +++ b/Controleur_sav/ControleurHistoriquerdv.php @@ -0,0 +1,31 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Historiquerdv'); + + $this->rendezvous = new Rendezvous(); + + $_SESSION['idDemandeRdv'] = '0'; + } + + public function index() { + $idAdherent = $_SESSION['idAdherent_C']; + $d1 = $_SESSION['debutMois_C']; + $d2 = date('Y-m-d'); + $codeEtatRdv = $_SESSION['codeEtatRdv'] ?? ""; + + $demandes = $this->rendezvous->getPrisesRdv($idAdherent, $d1, $d2, $codeEtatRdv); + + $reponsedemande = $this->rendezvous->getEtatRdv(); + + $this->genererVue(array('demandes' => $demandes, 'reponsedemande' => $reponsedemande)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurHistoriqueremboursement.php b/Controleur_sav/ControleurHistoriqueremboursement.php new file mode 100755 index 0000000..927ad08 --- /dev/null +++ b/Controleur_sav/ControleurHistoriqueremboursement.php @@ -0,0 +1,31 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Historiqueremboursement'); + + $this->remboursement = new Remboursement(); + + $_SESSION['idDemandeRemboursement'] = '0'; + } + + public function index() { + $idAdherent = $_SESSION['idAdherent_C']; + $d1 = $_SESSION['debutMois_C']; + $d2 = date('Y-m-d'); + $codeEtatDemandeRemboursement = $_SESSION['codeEtatDemandeRemboursement'] ?? "0"; + + $demandes = $this->remboursement->getDemandesRemboursement($idAdherent, $d1, $d2, $codeEtatDemandeRemboursement); + + $reponsedemande = $this->remboursement->getEtatRemboursement(); + + $this->genererVue(array('demandes' => $demandes, 'reponsedemande' => $reponsedemande)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurHistsupprempreinte.php b/Controleur_sav/ControleurHistsupprempreinte.php new file mode 100755 index 0000000..510e826 --- /dev/null +++ b/Controleur_sav/ControleurHistsupprempreinte.php @@ -0,0 +1,16 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Histsupprempreinte'); + } + + public function index() { + $this->genererVue(); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurInfossassureur.php b/Controleur_sav/ControleurInfossassureur.php new file mode 100755 index 0000000..248ae1e --- /dev/null +++ b/Controleur_sav/ControleurInfossassureur.php @@ -0,0 +1,27 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Infossassureur'); + + $this->societeuser = new Societeuser(); + } + + public function index() + { + $codeSociete = $_SESSION['codeSociete']; + + $infossassureurs = $this->societeuser->getinfossassureurs($codeSociete); + + $this->genererVue(array('infossassureurs' => $infossassureurs)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurInitierconsultation.php b/Controleur_sav/ControleurInitierconsultation.php new file mode 100755 index 0000000..84e62c1 --- /dev/null +++ b/Controleur_sav/ControleurInitierconsultation.php @@ -0,0 +1,37 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Initierconsultation'); + + $this->rendezvous = new Rendezvous(); + $this->prestataire = new Prestataire(); + } + + public function index() + { + $idDemandeconsultation = $_SESSION['idDemandeconsultation'] ?? '0'; + + $benficiaires = $this->rendezvous->getBeneficaire(); + + $demande = $this->rendezvous->getDemandeConsultation($idDemandeconsultation); + + $specialites = $this->rendezvous->getSpecialiteRdv(); + + $prestataires = $this->prestataire->getprestatairerdvmobile(); + + $this->genererVue(array('benficiaires' => $benficiaires, 'demande' => $demande, + 'specialites' => $specialites, 'prestataires' => $prestataires)); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurListederogations.php b/Controleur_sav/ControleurListederogations.php new file mode 100755 index 0000000..1e6028d --- /dev/null +++ b/Controleur_sav/ControleurListederogations.php @@ -0,0 +1,26 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Listederogations'); + + $this->listederogation = (new Derogation())->getListe(); + $this->reponsederogation = (new Reponsederogation())->getListe(); + $this->prestataire = new Prestataire(); + } + + public function index() + { + $prestataire_courant = $this->prestataire->getPrestataireCode( $_SESSION['codePrestataire_C']); + + $this->genererVue(array('listederogation' => $this->listederogation, 'reponsederogation' => $this->reponsederogation)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurListeententeprealables.php b/Controleur_sav/ControleurListeententeprealables.php new file mode 100755 index 0000000..cfe1b2f --- /dev/null +++ b/Controleur_sav/ControleurListeententeprealables.php @@ -0,0 +1,24 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Listeententeprealables'); + + $this->prestataire = new Prestataire(); + $this->reponseententeprealable = (new Reponseententeprealable())->getListe(); + } + + public function index() { + $prestataire_courant = $this->prestataire->getPrestataireCode( $_SESSION['codePrestataire_C']); + + $this->genererVue(array('reponseententeprealable' => $this->reponseententeprealable)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurListeententeprealablesmont.php b/Controleur_sav/ControleurListeententeprealablesmont.php new file mode 100755 index 0000000..5c9881e --- /dev/null +++ b/Controleur_sav/ControleurListeententeprealablesmont.php @@ -0,0 +1,19 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Listeententeprealablesmont'); + + $this->reponseententeprealable = (new Reponseententeprealable())->getListe(); + } + + public function index() { + $this->genererVue(array('reponseententeprealable' => $this->reponseententeprealable)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurListeententeprealablesopt.php b/Controleur_sav/ControleurListeententeprealablesopt.php new file mode 100755 index 0000000..95e067c --- /dev/null +++ b/Controleur_sav/ControleurListeententeprealablesopt.php @@ -0,0 +1,19 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Listeententeprealablesopt'); + + $this->reponseententeprealable = (new Reponseententeprealable())->getListe(); + } + + public function index() { + $this->genererVue(array('reponseententeprealable' => $this->reponseententeprealable)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurListeententeprealablespha.php b/Controleur_sav/ControleurListeententeprealablespha.php new file mode 100755 index 0000000..988d215 --- /dev/null +++ b/Controleur_sav/ControleurListeententeprealablespha.php @@ -0,0 +1,19 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Listeententeprealablespha'); + + $this->reponseententeprealable = (new Reponseententeprealable())->getListe(); + } + + public function index() { + $this->genererVue(array('reponseententeprealable' => $this->reponseententeprealable)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurListeexclusions.php b/Controleur_sav/ControleurListeexclusions.php new file mode 100755 index 0000000..af3749d --- /dev/null +++ b/Controleur_sav/ControleurListeexclusions.php @@ -0,0 +1,24 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Listeexclusions'); + + $this->ententeprealable = new Ententeprealable(); + } + + public function index() { + $numeroFeuilleMaladie = $_SESSION['numeroFeuilleMaladie_C']; + + $ententeprealables = $this->ententeprealable->getActesExclusFeuilleMaladie($numeroFeuilleMaladie); + + $this->genererVue(array('ententeprealables' => $ententeprealables)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurMedecinsprestataire.php b/Controleur_sav/ControleurMedecinsprestataire.php new file mode 100755 index 0000000..c502e2b --- /dev/null +++ b/Controleur_sav/ControleurMedecinsprestataire.php @@ -0,0 +1,30 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue("Medecinsprestataire"); + + $this->prestataire = new Prestataire(); + + $_SESSION['modeDevis'] = "0"; + } + + public function index() + { + $codePrestataire = $_SESSION['codePrestataire_C']; + + $prestataire = $this->prestataire->getunprestatairebycode($codePrestataire); + + $medecins = $this->prestataire->getmedecinsprestataire($codePrestataire); + + $this->genererVue(array('prestataire' => $prestataire, 'medecins' => $medecins)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurMessagerie.php b/Controleur_sav/ControleurMessagerie.php new file mode 100755 index 0000000..fc9303c --- /dev/null +++ b/Controleur_sav/ControleurMessagerie.php @@ -0,0 +1,22 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Messagerie'); + + $this->ouinonlu = (new Ouinon())->getListe(); + } + + public function index() + { + $this->genererVue(array('ouinonlu' => $this->ouinonlu)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurModifierbeneficiaire.php b/Controleur_sav/ControleurModifierbeneficiaire.php new file mode 100755 index 0000000..65ef749 --- /dev/null +++ b/Controleur_sav/ControleurModifierbeneficiaire.php @@ -0,0 +1,132 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Modifierbeneficiaire'); + + $this->beneficiaire = new Beneficiaire(); + $this->naturepiece = (new Naturepiece())->getListe(); + $this->sexe = (new Sexe())->getListe(); + $this->groupesanguin = (new Groupesanguin())->getListe(); + $this->adherent = new Adherent(); + // $this->lienparente = (new Lienparente())->getListe(); + $this->lienparente = new Lienparente(); + $this->tarif = new Tarifsactes(); + + $this->ouinonvip = (new Ouinon())->getListe(); + $this->ouinonconserver = (new Ouinon())->getListe(); + + $this->produit = new Produit(); + } + public function index() + { + $idPolice = $_SESSION['idPolice_C']; + + $codeSociete = $this->requete->getSession()->getAttribut('codeSociete'); + + + $id = $this->requete->getParametre("id"); + + $beneficiaire = $this->beneficiaire->getBeneficiaireId($id); + + $idAdherent = $beneficiaire['idAdherent']; + + $adherent = $this->adherent->getAdherentId($idAdherent); + + + $codeLienParente = $beneficiaire['codeLienParente']; + + if($codeLienParente=="A") + { + $lienparente = $this->lienparente->getListeAdherent(); + } + else + { + $lienparente = $this->lienparente->getListeDependant(); + } + + $codeTypeTarifActe = "TBEN"; + + $tarifActe = $this->tarif->getTarifActeByType($codeTypeTarifActe); + + + $typeremboursement = $this->produit->getlisteTypeRemboursement(); + + $this->genererVue(array('beneficiaire' => $beneficiaire, 'adherent' => $adherent, 'naturepiece' => $this->naturepiece, 'sexe' => $this->sexe, + 'groupesanguin' => $this->groupesanguin, 'lienparente' => $lienparente, 'tarifActe' => $tarifActe, 'ouinonvip' => $this->ouinonvip, + 'ouinonconserver' => $this->ouinonconserver, 'typeremboursement' => $typeremboursement)); + } + + public function modifier($prenoms=null) { + $id = $this->requete->getParametre("id"); + $nomBeneficiaire = $this->requete->getParametre("nomBeneficiaire"); + $prenomsBeneficiaire = $this->requete->getParametreFormulaire("prenomsBeneficiaire"); + $codeLienParente = $this->requete->getParametre("codeLienParente"); + $codeNaturePiece = $this->requete->getParametre("codeNaturePiece"); + $numeroPiece = strtoupper($this->requete->getParametreFormulaire("numeroPiece")); + $sexe = $this->requete->getParametreFormulaire("sexe"); + $codeGroupeSanguin = $this->requete->getParametreFormulaire("codeGroupeSanguin"); + $dateNaissance = $this->requete->getParametreDate("dateNaissance"); + $telephonePortable = $this->requete->getParametreFormulaire("telephonePortable"); + $dateEntree = $this->requete->getParametreDate("dateEntree"); + + $numeroCmu = strtoupper($this->requete->getParametreFormulaire("numeroCmu")); + $numeroMatricule = strtoupper($this->requete->getParametreFormulaire("numeroMatricule")); + + $primeFamille = $this->requete->getParametreFormulaire("primeFamille","numerique"); + $primeBeneficiaire = $this->requete->getParametreFormulaire("primeBeneficiaire","numerique"); + + $nomBeneficiaire = strtoupper($nomBeneficiaire); + $prenomsBeneficiaire = strtoupper($prenomsBeneficiaire); + + //Ajouté par sorel le 27-05-2023 + $codeTarifActe = $this->requete->getParametreFormulaire("codeTarifActe"); + + + //ajouter par sorel 20-06-2023 + $dateSouscription = $this->requete->getParametreFormulaire("dateSouscription"); + if($dateSouscription==""){ + $dateSouscription=null; + }else{ + $dateSouscription = $this->requete->getParametreDate("dateSouscription"); + } + + $vip = $this->requete->getParametreFormulaire("vip"); + + $seuilRdBeneficiaire = $this->requete->getParametreFormulaire("seuilRdBeneficiaire"); + + $numeroBs = $this->requete->getParametreFormulaire("seuilRdBeneficiaire"); + $codeTypeRemboursement = $this->requete->getParametreFormulaire("codeTypeRemboursement"); + + + $this->beneficiaire->modifier($nomBeneficiaire, $prenomsBeneficiaire, $codeLienParente, $codeNaturePiece, $numeroPiece, + $sexe, $codeGroupeSanguin, $dateNaissance, $telephonePortable, $dateEntree, $primeFamille, $primeBeneficiaire, $numeroCmu, + $numeroMatricule, $codeTarifActe, $dateSouscription, $vip, $seuilRdBeneficiaire, $numeroBs, $codeTypeRemboursement, $id); + + + + $this->rediriger("Fichebeneficiaire/".$id); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurMoritio.php b/Controleur_sav/ControleurMoritio.php new file mode 100755 index 0000000..ef5a020 --- /dev/null +++ b/Controleur_sav/ControleurMoritio.php @@ -0,0 +1,14 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Notesbeneficiaire'); + } + + public function index() + { + $this->genererVue(); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurNotesfeuillemaladie.php b/Controleur_sav/ControleurNotesfeuillemaladie.php new file mode 100755 index 0000000..3e4233e --- /dev/null +++ b/Controleur_sav/ControleurNotesfeuillemaladie.php @@ -0,0 +1,17 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Notesfeuillemaladie'); + } + + public function index() + { + $this->genererVue(); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurParametre.php b/Controleur_sav/ControleurParametre.php new file mode 100755 index 0000000..45b7a37 --- /dev/null +++ b/Controleur_sav/ControleurParametre.php @@ -0,0 +1,16 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue("Parametre"); + } + + public function index() { + $this->genererVue(); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurPharmaciegarde.php b/Controleur_sav/ControleurPharmaciegarde.php new file mode 100755 index 0000000..f0264c0 --- /dev/null +++ b/Controleur_sav/ControleurPharmaciegarde.php @@ -0,0 +1,20 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Pharmaciegarde'); + + } + + public function index() + { + $this->genererVue(); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurPharmaciencons.php b/Controleur_sav/ControleurPharmaciencons.php new file mode 100755 index 0000000..f0bc642 --- /dev/null +++ b/Controleur_sav/ControleurPharmaciencons.php @@ -0,0 +1,32 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Pharmaciencons'); + + $this->facture_pharmacie = new Prescription(); + // $this->ged = new Ged(); + } + + public function index() + { + + $numeroBonOrdonnance = $_SESSION['numeroBonOrdonnance_C']; + $codePrestataireLivraison = $_SESSION['codePrestataireLivraison_C']; + + $prescription = $this->facture_pharmacie->getprescription_pha($numeroBonOrdonnance, $codePrestataireLivraison); + + $detaillivres = $this->facture_pharmacie->getdetailprescription_pha($numeroBonOrdonnance, $codePrestataireLivraison); + + $this->genererVue(array('prescription' => $prescription, 'detaillivres' => $detaillivres)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurPlafondadherent.php b/Controleur_sav/ControleurPlafondadherent.php new file mode 100755 index 0000000..5178919 --- /dev/null +++ b/Controleur_sav/ControleurPlafondadherent.php @@ -0,0 +1,32 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue("Plafondadherent"); + + $this->adherent = new Adherent(); + $this->garantieadherent = new Garantieadherent(); + + } + public function index() + { + $idAdherent = $_SESSION['idAdherent_C']; + $adherent = $this->adherent->getContexteAdherentId($idAdherent); + $exercieReference = $_SESSION['exercieReference_C']; + $idEntetecontrat = $_SESSION['idEntetecontrat']; + $entecontrats = $this->garantieadherent->getlisteentetecontratadherent($idAdherent); + + $garantieadherents = $this->garantieadherent->getGarantieAdherentEnteteContrat($idAdherent, $idEntetecontrat); + + $this->genererVue(array('adherent' => $adherent, 'garantieadherents' => $garantieadherents, 'entecontrats' => $entecontrats)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurPlafondbeneficiaire.php b/Controleur_sav/ControleurPlafondbeneficiaire.php new file mode 100755 index 0000000..ba61c42 --- /dev/null +++ b/Controleur_sav/ControleurPlafondbeneficiaire.php @@ -0,0 +1,30 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue("Plafondbeneficiaire"); + + $this->garantieadherent = new Garantieadherent(); + + } + public function index() + { + $idAdherent = $_SESSION['idAdherent_C']; + $idBeneficiaire = $_SESSION['idBeneficiaire_C']; + $exercieReference = $_SESSION['exercieReference_C']; + $idEntetecontrat = $_SESSION['idEntetecontrat']; + + $entecontrats = $this->garantieadherent->getlisteentetecontratbeneficiaire($idBeneficiaire); + + $garantieadherents = $this->garantieadherent->getGarantieBeneficiaireEnteteContrat($idBeneficiaire, $idEntetecontrat); + + $this->genererVue(array('garantieadherents' => $garantieadherents, 'entecontrats' => $entecontrats)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurPrescription.php b/Controleur_sav/ControleurPrescription.php new file mode 100755 index 0000000..73985a7 --- /dev/null +++ b/Controleur_sav/ControleurPrescription.php @@ -0,0 +1,132 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Prescription'); + + $this->prescription = new Prescription(); + $this->detailprescription = new Detailprescription(); + $this->ged = new Ged(); + + $codePrestataire = $_SESSION['codePrestataire_C']; + } + + public function index($msgErreur=null) + + { + $message = ""; + + $nouveau_fichier = "Rien"; + + if(!empty($_POST)) + { + define('TARGET', $_SESSION['cheminGed']); // Repertoire cible + define('MAX_SIZE', 10000000); // Taille max en octets du fichier + + // Tableaux de donnees + // ".avi", ".bmp", ".doc", ".docx", ".gif", ".jpeg", "jpg", "jpe", ".mkv", ".mp3", ".pdf", ".png", ".pps", ".xls", ".xlsx", ".wav" + // $tabExt = array('jpg','png','jpeg'); // Extensions autorisees + + $tabExt = array("avi", "bmp", "doc", "docx", "gif", "jpeg", "jpg", "jpe", "mkv", "mp3", "mp4", "pdf", "png", "pps", "xls", "xlsx", "wav"); // Extensions autorisees + + // Variables + $extension = ''; + + if( !is_dir(TARGET) ) + { + if( !mkdir(TARGET, 0755) ) + { + $message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !'; + } + } + + // On verifie si le champ est rempli + if( !empty($_FILES['fichier_upload']['name']) ) + { + // Recuperation de l'extension du fichier + + $extension = pathinfo($_FILES['fichier_upload']['name'], PATHINFO_EXTENSION); + + // On verifie l'extension du fichier + if(in_array(strtolower($extension), $tabExt)) + { + $message = $_FILES['fichier_upload']['size']; + + // On verifie les dimensions et taille du fichier + if($_FILES['fichier_upload']['size'] <= MAX_SIZE) + { + $taille = $_FILES['fichier_upload']['size']; + + // Parcours du tableau d'erreurs + if(isset($_FILES['fichier_upload']['error']) && UPLOAD_ERR_OK === $_FILES['fichier_upload']['error']) + { + // On renomme le fichier + $nomOrigine = $_FILES['fichier_upload']['name']; + $nouveau_fichier = dateJourSql()."_".uniqid().".".$extension; + + // Si c'est OK, on teste l'upload + if(move_uploaded_file($_FILES['fichier_upload']['tmp_name'], TARGET.$nouveau_fichier)) + { + $message = 'Chargé avec succès / Uploaded successfully'; + + // on va envoyer dans la base de données + $this->ged->enregistrergedprescription($nomOrigine, $nouveau_fichier, $taille); + } + else + { + // Sinon on affiche une erreur systeme + $message = 'Problème lors du chargement !'; + } + } + else + { + $message = 'Une erreur interne a empêché le chargement'; + } + } + else + { + $message .= $_FILES['fichier_upload']['size']." Erreur dans les dimensions du fichier !"; + // $message = 'Erreur dans les dimensions du fichier !'; + } + } + else + { + // Sinon on affiche une erreur pour l'extension + $message = 'Extension du fichier est incorrecte !'; + } + } + else + { + // Sinon on affiche une erreur pour le champ vide + $message = 'Veuillez sélectionner un fichier SVP! / Please select a file!'; + } + + // fin upload + } + + $msgErreurGed = $message; + + $numeroPrescription = $_SESSION['numeroPrescription_C']; + + $prescription = $this->prescription->getprescription($numeroPrescription); + + $detailprescriptions = $this->detailprescription->getdetailprescription($numeroPrescription); + + // $numeroBonOrdonnance = $_SESSION['numeroBonOrdonnance_C']; + unset($_FILES['fichier_upload']); + $geds = $this->ged->getgedpharmacie(); + + $this->genererVue(array('prescription' => $prescription, 'detailprescriptions' => $detailprescriptions, 'geds' => $geds, 'msgErreurGed' => $msgErreurGed)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurPrescriptioncons.php b/Controleur_sav/ControleurPrescriptioncons.php new file mode 100755 index 0000000..ba72784 --- /dev/null +++ b/Controleur_sav/ControleurPrescriptioncons.php @@ -0,0 +1,54 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Prescriptioncons'); + + $this->prescription = new Prescription(); + $this->detailprescription = new Detailprescription(); + // $this->ged = new Ged(); + } + + + public function index() + { + $numeroPrescription = $_SESSION['numeroPrescription_C']; + + $prescription = $this->prescription->getprescription($numeroPrescription); + + $detailprescriptions = $this->detailprescription->getdetailprescription($numeroPrescription); + + $numeroBonOrdonnance = $_SESSION['numeroBonOrdonnance_C']; + + $this->genererVue(array('prescription' => $prescription, 'detailprescriptions' => $detailprescriptions)); + + } + + /* + public function index() + { + $numeroPrescription = $_SESSION['numeroPrescription_C']; + + $prescription = $this->prescription->getprescription($numeroPrescription); + + $detailprescriptions = $this->detailprescription->getdetailprescription($numeroPrescription); + + $numeroBonOrdonnance = $_SESSION['numeroBonOrdonnance_C']; + unset($_FILES['fichier_upload']); + $geds = $this->ged->getgedpharmacie(); + + $this->genererVue(array('prescription' => $prescription, 'detailprescriptions' => $detailprescriptions, 'geds' => $geds)); + } + */ +} \ No newline at end of file diff --git a/Controleur_sav/ControleurPrestataires.php b/Controleur_sav/ControleurPrestataires.php new file mode 100755 index 0000000..e6bf3c2 --- /dev/null +++ b/Controleur_sav/ControleurPrestataires.php @@ -0,0 +1,54 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue("Prestataires"); + + $this->typeprestataire = new Typeprestataire(); + $this->reseausoins = new Reseausoins(); + + $this->pays = new Pays(); + $this->ville = new Ville(); + $this->localite = new Localite(); + + } + + public function index() + { + $codeSociete = $_SESSION['codeSociete']; + $codePays = $_SESSION['codePaysSociete']; + $codeVille = ""; + + $typeprestataire = $this->typeprestataire->getListeTous(); + $reseausoins = $this->reseausoins->getReseausoinsFamille(); + + $codeReseau = $this->reseausoins->getReseauFamille(); + + $pays = $this->pays->getListe($codePays); + $ville = $this->ville->getListe($codePays); + $localite = $this->localite->getListe($codePays, $codeVille); + + $this->genererVue(array('pays' => $pays, 'ville' => $ville, 'listelocalite' => $localite, + 'typeprestataire' => $typeprestataire, 'reseausoins' => $reseausoins, 'codeReseau' => $codeReseau)); + + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurQuitter.php b/Controleur_sav/ControleurQuitter.php new file mode 100755 index 0000000..208d49a --- /dev/null +++ b/Controleur_sav/ControleurQuitter.php @@ -0,0 +1,22 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue("Quitter"); + + session_destroy(); + } + + public function index() + { + $this->genererVue(); + } +} diff --git a/Controleur_sav/ControleurRecconnexion.php b/Controleur_sav/ControleurRecconnexion.php new file mode 100755 index 0000000..e1fd581 --- /dev/null +++ b/Controleur_sav/ControleurRecconnexion.php @@ -0,0 +1,8 @@ +rediriger("connexion","deconnecter"); + } +} diff --git a/Controleur_sav/ControleurRecherche.php b/Controleur_sav/ControleurRecherche.php new file mode 100755 index 0000000..a56b91b --- /dev/null +++ b/Controleur_sav/ControleurRecherche.php @@ -0,0 +1,566 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue("Recherche"); + + $this->beneficiaire = new Beneficiaire(); + + viderContexte(); + + $_SESSION['numeroBonOrdonnance_C'] = "-1"; + $_SESSION['numeroBonExamen_C'] = "-1"; + $_SESSION['numeroBonOptique_C'] = "-1"; + $_SESSION['numeroBonKine_C'] = "-1"; + + $_SESSION['okId'] = "-1"; + } + + public function index($numeroBeneficiaire="", $numeroAdherent="", $nomBeneficiaire="", + $prenomsBeneficiaire="", $telephonePortable="", $email="", $numeroBonConsultation="", + $numeroBonOrdonnance="", $numeroBonHospitalisation="", $numeroBonOptique="", + $numeroBonExamen="", $numeroBonKine="", $numeroBonSeance="") + { + if (isset($_POST['numeroBeneficiaire'])) + { + $numeroBeneficiaire=trim($_POST['numeroBeneficiaire']); + $numeroAdherent=trim($_POST['numeroAdherent']); + $nomBeneficiaire=trim($_POST['nomBeneficiaire']); + $prenomsBeneficiaire=trim($_POST['prenomsBeneficiaire']); + $telephonePortable=trim($_POST['telephonePortable']); + $email=trim($_POST['email']); + $numeroBonConsultation=trim($_POST['numeroBonConsultation']); + $numeroBonOrdonnance=trim($_POST['numeroBonOrdonnance']); + $numeroBonHospitalisation=trim($_POST['numeroBonHospitalisation']); + $numeroBonOptique=trim($_POST['numeroBonOptique']); + $numeroBonExamen=trim($_POST['numeroBonExamen']); + $numeroBonKine=trim($_POST['numeroBonKine']); + $numeroBonSeance=trim($_POST['numeroBonSeance']); + + if ($numeroBonConsultation=="0") + { + $numeroBonConsultation=""; + } + + if ($numeroBonOrdonnance=="0") + { + $numeroBonOrdonnance=""; + } + + if ($numeroBonHospitalisation=="0") + { + $numeroBonHospitalisation=""; + } + + if ($numeroBonOptique=="0") + { + $numeroBonOptique=""; + } + + if ($numeroBonExamen=="0") + { + $numeroBonExamen=""; + } + + if ($numeroBonKine=="0") + { + $numeroBonKine=""; + } + + if ($numeroBonSeance=="0") + { + $numeroBonSeance=""; + } + + if ($numeroBeneficiaire<=" " && $numeroAdherent<=" " && $numeroBeneficiaire<=" " && + $nomBeneficiaire<=" " && $prenomsBeneficiaire<=" " && $telephonePortable<=" " && $email<=" "&& + $numeroBonConsultation<=" " && $numeroBonOrdonnance<=" " && $numeroBonHospitalisation<=" " && $numeroBonOptique<=" "&& + $numeroBonExamen<=" " && $numeroBonKine<=" " && $numeroBonSeance<=" ") + { + $beneficiaires = $this->beneficiaire->getBeneficiaireVide(); + } + else + if ($numeroBeneficiaire>" ") + { + $beneficiaires = $this->beneficiaire->getBeneficiaire($numeroBeneficiaire); + } + else + if ($numeroAdherent>" ") + { + $beneficiaires = $this->beneficiaire->getBeneficiairesAdh($numeroAdherent); + } + else + if ($numeroBonConsultation>" ") + { + if ($_SESSION['codeProfil_C']=="CSO") + { + $resultat = $this->beneficiaire->getBeneficiaireConsultationCso($numeroBonConsultation); + $idBeneficiaire = $resultat['idBeneficiaire']; + + if ($idBeneficiaire > "0") + { + $idBeneficiaire = $resultat['idBeneficiaire']; + + $numeroFeuilleMaladie = $resultat['numeroFeuilleMaladie']; + + $numeroBonConsultation = $resultat['numeroBonConsultation']; + $numeroBonHospitalisation = $resultat['numeroBonHospitalisation']; + + $numeroBonOrdonnance = $resultat['numeroBonOrdonnance']; + $numeroBonOptique = $resultat['numeroBonOptique']; + $numeroBonExamen = $resultat['numeroBonExamen']; + $numeroBonKine = $resultat['numeroBonKine']; + + $numeroPrescription = $resultat['numeroPrescription']; + $numeroOptique = $resultat['numeroOptique']; + $numeroExamen = $resultat['numeroExamen']; + $numeroPrescriptionKine = $resultat['numeroPrescriptionKine']; + + $beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $_SESSION['numeroFeuilleMaladie_C'] = $numeroFeuilleMaladie; + + $_SESSION['numeroBonConsultation_C'] = $numeroBonConsultation; + $_SESSION['numeroBonHospitalisation_C'] = $numeroBonHospitalisation; + + $_SESSION['numeroBonOrdonnance_C'] = $numeroBonOrdonnance; + $_SESSION['numeroBonOptique_C'] = $numeroBonOptique; + $_SESSION['numeroBonExamen_C'] = $numeroBonExamen; + $_SESSION['numeroBonKine_C'] = $numeroBonKine; + + $_SESSION['numeroPrescription_C'] = $numeroPrescription; + $_SESSION['numeroOptique_C'] = $numeroOptique; + $_SESSION['numeroExamen_C'] = $numeroExamen; + $_SESSION['numeroPrescriptionKine_C'] = $numeroPrescriptionKine; + + $this->rediriger("Feuillemaladie"); + } + else + { + $beneficiaires = $this->beneficiaire->getBeneficiaireVide(); + } + } + else + { + $beneficiaires = $this->beneficiaire->getBeneficiaireConsultation($numeroBonConsultation); + } + + } + else + if ($numeroBonOrdonnance>" ") + { + if ($_SESSION['codeProfil_C']=="PHA") + { + $_SESSION['numeroBonOrdonnance_C'] = $numeroBonOrdonnance; + $this->rediriger("Pharmacien"); + } + elseif ($_SESSION['codeProfil_C']=="CSO") + { + $resultat = $this->beneficiaire->getBeneficiaireOrdonnanceCso($numeroBonOrdonnance); + $idBeneficiaire = $resultat['idBeneficiaire']; + + if ($idBeneficiaire > "0") + { + $idBeneficiaire = $resultat['idBeneficiaire']; + + $numeroFeuilleMaladie = $resultat['numeroFeuilleMaladie']; + + $numeroBonConsultation = $resultat['numeroBonConsultation']; + $numeroBonHospitalisation = $resultat['numeroBonHospitalisation']; + + $numeroBonOrdonnance = $resultat['numeroBonOrdonnance']; + $numeroBonOptique = $resultat['numeroBonOptique']; + $numeroBonExamen = $resultat['numeroBonExamen']; + $numeroBonKine = $resultat['numeroBonKine']; + + $numeroPrescription = $resultat['numeroPrescription']; + $numeroOptique = $resultat['numeroOptique']; + $numeroExamen = $resultat['numeroExamen']; + $numeroPrescriptionKine = $resultat['numeroPrescriptionKine']; + + $beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $_SESSION['numeroFeuilleMaladie_C'] = $numeroFeuilleMaladie; + + $_SESSION['numeroBonConsultation_C'] = $numeroBonConsultation; + $_SESSION['numeroBonHospitalisation_C'] = $numeroBonHospitalisation; + + $_SESSION['numeroBonOrdonnance_C'] = $numeroBonOrdonnance; + $_SESSION['numeroBonOptique_C'] = $numeroBonOptique; + $_SESSION['numeroBonExamen_C'] = $numeroBonExamen; + $_SESSION['numeroBonKine_C'] = $numeroBonKine; + + $_SESSION['numeroPrescription_C'] = $numeroPrescription; + $_SESSION['numeroOptique_C'] = $numeroOptique; + $_SESSION['numeroExamen_C'] = $numeroExamen; + $_SESSION['numeroPrescriptionKine_C'] = $numeroPrescriptionKine; + + // $this->rediriger("Pharmacie"); + // changement du 23/11/2017 + $this->rediriger("Feuillemaladie"); + } + else + { + $beneficiaires = $this->beneficiaire->getBeneficiaireVide(); + } + } + else + { + $beneficiaires = $this->beneficiaire->getBeneficiaireOrdonnance($numeroBonOrdonnance); + } + } + // Optique + else + if ($numeroBonOptique>" ") + { + if ($_SESSION['codeProfil_C']=="OPT") + { + $_SESSION['numeroBonOptique_C'] = $numeroBonOptique; + $this->rediriger("Opticien"); + } + elseif ($_SESSION['codeProfil_C']=="CSO") + { + $resultat = $this->beneficiaire->getBeneficiaireOptiqueCso($numeroBonOptique); + $idBeneficiaire = $resultat['idBeneficiaire']; + + if ($idBeneficiaire > "0") + { + $numeroFeuilleMaladie = $resultat['numeroFeuilleMaladie']; + + $numeroBonConsultation = $resultat['numeroBonConsultation']; + $numeroBonHospitalisation = $resultat['numeroBonHospitalisation']; + + $numeroBonOrdonnance = $resultat['numeroBonOrdonnance']; + $numeroBonOptique = $resultat['numeroBonOptique']; + $numeroBonExamen = $resultat['numeroBonExamen']; + $numeroBonKine = $resultat['numeroBonKine']; + + $numeroPrescription = $resultat['numeroPrescription']; + $numeroOptique = $resultat['numeroOptique']; + $numeroExamen = $resultat['numeroExamen']; + $numeroPrescriptionKine = $resultat['numeroPrescriptionKine']; + + $beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $_SESSION['numeroFeuilleMaladie_C'] = $numeroFeuilleMaladie; + + $_SESSION['numeroBonConsultation_C'] = $numeroBonConsultation; + $_SESSION['numeroBonHospitalisation_C'] = $numeroBonHospitalisation; + + $_SESSION['numeroBonOrdonnance_C'] = $numeroBonOrdonnance; + $_SESSION['numeroBonOptique_C'] = $numeroBonOptique; + $_SESSION['numeroBonExamen_C'] = $numeroBonExamen; + $_SESSION['numeroBonKine_C'] = $numeroBonKine; + + $_SESSION['numeroPrescription_C'] = $numeroPrescription; + $_SESSION['numeroOptique_C'] = $numeroOptique; + $_SESSION['numeroExamen_C'] = $numeroExamen; + $_SESSION['numeroPrescriptionKine_C'] = $numeroPrescriptionKine; + + // $this->rediriger("Optique"); + // Changment du 23/11/2017 + $this->rediriger("Feuillemaladie"); + } + else + { + $beneficiaires = $this->beneficiaire->getBeneficiaireVide(); + } + } + else + { + $beneficiaires = $this->beneficiaire->getBeneficiaireOptique($numeroBonOptique); + } + } + // Fin Optique + else + if ($numeroBonHospitalisation>" ") + { + $resultat = $this->beneficiaire->getBeneficiaireHospit($numeroBonHospitalisation); + $idBeneficiaire = $resultat['idBeneficiaire']; + + if ($idBeneficiaire > "0") + { + $numeroFeuilleMaladie = $resultat['numeroFeuilleMaladie']; + + $numeroBonConsultation = $resultat['numeroBonConsultation']; + $numeroBonHospitalisation = $resultat['numeroBonHospitalisation']; + + $numeroBonOrdonnance = $resultat['numeroBonOrdonnance']; + $numeroBonOptique = $resultat['numeroBonOptique']; + $numeroBonExamen = $resultat['numeroBonExamen']; + $numeroBonKine = $resultat['numeroBonKine']; + + $numeroPrescription = $resultat['numeroPrescription']; + $numeroOptique = $resultat['numeroOptique']; + $numeroExamen = $resultat['numeroExamen']; + $numeroPrescriptionKine = $resultat['numeroPrescriptionKine']; + + $beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $_SESSION['numeroFeuilleMaladie_C'] = $numeroFeuilleMaladie; + + $_SESSION['numeroBonConsultation_C'] = $numeroBonConsultation; + $_SESSION['numeroBonHospitalisation_C'] = $numeroBonHospitalisation; + + $_SESSION['numeroBonOrdonnance_C'] = $numeroBonOrdonnance; + $_SESSION['numeroBonOptique_C'] = $numeroBonOptique; + $_SESSION['numeroBonExamen_C'] = $numeroBonExamen; + $_SESSION['numeroBonKine_C'] = $numeroBonKine; + + $_SESSION['numeroPrescription_C'] = $numeroPrescription; + $_SESSION['numeroOptique_C'] = $numeroOptique; + $_SESSION['numeroExamen_C'] = $numeroExamen; + $_SESSION['numeroPrescriptionKine_C'] = $numeroPrescriptionKine; + + // $this->rediriger("Chambre"); + // Changment du 23/11/2017 + $this->rediriger("Feuillemaladie"); + } + else + { + $beneficiaires = $this->beneficiaire->getBeneficiaireVide(); + } + } + + // Examen + else + if ($numeroBonExamen>" ") + { + if ($_SESSION['codeProfil_C']=="LAB") + { + $_SESSION['numeroBonExamen_C'] = $numeroBonExamen; + $this->rediriger("Laboratoire"); + } + elseif ($_SESSION['codeProfil_C']=="CSO") + { + $resultat = $this->beneficiaire->getBeneficiaireExamenCso($numeroBonExamen); + $idBeneficiaire = $resultat['idBeneficiaire']; + + if ($idBeneficiaire > "0") + { + $numeroFeuilleMaladie = $resultat['numeroFeuilleMaladie']; + + $numeroBonConsultation = $resultat['numeroBonConsultation']; + $numeroBonHospitalisation = $resultat['numeroBonHospitalisation']; + + $numeroBonOrdonnance = $resultat['numeroBonOrdonnance']; + $numeroBonOptique = $resultat['numeroBonOptique']; + $numeroBonExamen = $resultat['numeroBonExamen']; + $numeroBonKine = $resultat['numeroBonKine']; + + $numeroPrescription = $resultat['numeroPrescription']; + $numeroOptique = $resultat['numeroOptique']; + $numeroExamen = $resultat['numeroExamen']; + $numeroPrescriptionKine = $resultat['numeroPrescriptionKine']; + + $beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $_SESSION['numeroFeuilleMaladie_C'] = $numeroFeuilleMaladie; + + $_SESSION['numeroBonConsultation_C'] = $numeroBonConsultation; + $_SESSION['numeroBonHospitalisation_C'] = $numeroBonHospitalisation; + + $_SESSION['numeroBonOrdonnance_C'] = $numeroBonOrdonnance; + $_SESSION['numeroBonOptique_C'] = $numeroBonOptique; + $_SESSION['numeroBonExamen_C'] = $numeroBonExamen; + $_SESSION['numeroBonKine_C'] = $numeroBonKine; + + $_SESSION['numeroPrescription_C'] = $numeroPrescription; + $_SESSION['numeroOptique_C'] = $numeroOptique; + $_SESSION['numeroExamen_C'] = $numeroExamen; + $_SESSION['numeroPrescriptionKine_C'] = $numeroPrescriptionKine; + + $this->rediriger("Feuillemaladie"); + } + else + { + $beneficiaires = $this->beneficiaire->getBeneficiaireVide(); + } + } + else + { + // $beneficiaires = $this->beneficiaire->getBeneficiaireOptique($numeroBonOptique); + $beneficiaires = $this->beneficiaire->getBeneficiaireExamen($numeroBonExamen); + } + } + // Fin Examen + + // Kine Prescription + else + if ($numeroBonKine>" ") + { + if ($_SESSION['codeProfil_C']=="SEA") + { + $_SESSION['numeroBonKine_C'] = $numeroBonKine; + $this->rediriger("Kine"); + } + elseif ($_SESSION['codeProfil_C']=="CSO") + { + // throw new Exception("numeroBonKine : ".$numeroBonKine); + + $resultat = $this->beneficiaire->getBeneficiaireKineCso($numeroBonKine); + $idBeneficiaire = $resultat['idBeneficiaire']; + + if ($idBeneficiaire > "0") + { + $numeroFeuilleMaladie = $resultat['numeroFeuilleMaladie']; + + $numeroBonConsultation = $resultat['numeroBonConsultation']; + $numeroBonHospitalisation = $resultat['numeroBonHospitalisation']; + + $numeroBonOrdonnance = $resultat['numeroBonOrdonnance']; + $numeroBonOptique = $resultat['numeroBonOptique']; + $numeroBonExamen = $resultat['numeroBonExamen']; + $numeroBonKine = $resultat['numeroBonKine']; + + $numeroPrescription = $resultat['numeroPrescription']; + $numeroOptique = $resultat['numeroOptique']; + $numeroExamen = $resultat['numeroExamen']; + $numeroPrescriptionKine = $resultat['numeroPrescriptionKine']; + + $beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $_SESSION['numeroFeuilleMaladie_C'] = $numeroFeuilleMaladie; + + $_SESSION['numeroBonConsultation_C'] = $numeroBonConsultation; + $_SESSION['numeroBonHospitalisation_C'] = $numeroBonHospitalisation; + + $_SESSION['numeroBonOrdonnance_C'] = $numeroBonOrdonnance; + $_SESSION['numeroBonOptique_C'] = $numeroBonOptique; + $_SESSION['numeroBonExamen_C'] = $numeroBonExamen; + $_SESSION['numeroBonKine_C'] = $numeroBonKine; + + $_SESSION['numeroPrescription_C'] = $numeroPrescription; + $_SESSION['numeroOptique_C'] = $numeroOptique; + $_SESSION['numeroExamen_C'] = $numeroExamen; + $_SESSION['numeroPrescriptionKine_C'] = $numeroPrescriptionKine; + + $this->rediriger("Feuillemaladie"); + } + else + { + $beneficiaires = $this->beneficiaire->getBeneficiaireVide(); + } + } + else + { + // $beneficiaires = $this->beneficiaire->getBeneficiaireOptique($numeroBonOptique); + $beneficiaires = $this->beneficiaire->getBeneficiaireExamen($numeroBonExamen); + } + } + // Fin Kine Prescription + + // Kine Séances + else + if ($numeroBonSeance>" ") + { + if ($_SESSION['codeProfil_C']=="SEA") + { + $_SESSION['numeroBonSeance_C'] = $numeroBonSeance; + // $this->rediriger("Kine"); + + // throw new Exception("numeroBonSeance : ".$numeroBonSeance); + + $resultat = $this->beneficiaire->getBeneficiaireSeanceKine($numeroBonSeance); + $idBeneficiaire = $resultat['idBeneficiaire']; + + if ($idBeneficiaire > "0") + { + $numeroBonKine = $resultat['numeroBonKine']; + $_SESSION['numeroBonKine_C'] = $numeroBonKine; + $this->rediriger("Kine"); + } + else + { + $beneficiaires = $this->beneficiaire->getBeneficiaireVide(); + } + + } + elseif ($_SESSION['codeProfil_C']=="CSO") + { + // throw new Exception("numeroBonSeance : ".$numeroBonSeance); + + $resultat = $this->beneficiaire->getBeneficiaireSeanceKine($numeroBonSeance); + $idBeneficiaire = $resultat['idBeneficiaire']; + + if ($idBeneficiaire > "0") + { + $numeroFeuilleMaladie = $resultat['numeroFeuilleMaladie']; + + $numeroBonConsultation = $resultat['numeroBonConsultation']; + $numeroBonHospitalisation = $resultat['numeroBonHospitalisation']; + + $numeroBonOrdonnance = $resultat['numeroBonOrdonnance']; + $numeroBonOptique = $resultat['numeroBonOptique']; + $numeroBonExamen = $resultat['numeroBonExamen']; + $numeroBonKine = $resultat['numeroBonKine']; + $numeroBonSeance = $resultat['numeroBonSeance']; + + $numeroPrescription = $resultat['numeroPrescription']; + $numeroOptique = $resultat['numeroOptique']; + $numeroExamen = $resultat['numeroExamen']; + $numeroPrescriptionKine = $resultat['numeroPrescriptionKine']; + + $beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $_SESSION['numeroFeuilleMaladie_C'] = $numeroFeuilleMaladie; + + $_SESSION['numeroBonConsultation_C'] = $numeroBonConsultation; + $_SESSION['numeroBonHospitalisation_C'] = $numeroBonHospitalisation; + + $_SESSION['numeroBonOrdonnance_C'] = $numeroBonOrdonnance; + $_SESSION['numeroBonOptique_C'] = $numeroBonOptique; + $_SESSION['numeroBonExamen_C'] = $numeroBonExamen; + $_SESSION['numeroBonKine_C'] = $numeroBonKine; + $_SESSION['numeroBonSeance_C'] = $numeroBonSeance; + + $_SESSION['numeroPrescription_C'] = $numeroPrescription; + $_SESSION['numeroOptique_C'] = $numeroOptique; + $_SESSION['numeroExamen_C'] = $numeroExamen; + $_SESSION['numeroPrescriptionKine_C'] = $numeroPrescriptionKine; + + $this->rediriger("Kinecso"); + } + else + { + $beneficiaires = $this->beneficiaire->getBeneficiaireVide(); + } + } + else + { + // $beneficiaires = $this->beneficiaire->getBeneficiaireOptique($numeroBonOptique); + $beneficiaires = $this->beneficiaire->getBeneficiaireExamen($numeroBonExamen); + } + } + // Fin Kine Séances + + else + { + $beneficiaires = $this->beneficiaire->getBeneficiaires($nomBeneficiaire, $prenomsBeneficiaire, $telephonePortable, $email); + } + } else + { + + $beneficiaires = $this->beneficiaire->getBeneficiaireVide(); + } + + if ($beneficiaires->rowCount() == 1) + { + $beneficiaire = $beneficiaires->fetch(); + $_SESSION['idBeneficiaire_C'] = $beneficiaire['idBeneficiaire']; + $_SESSION['idBeneficiaire_sav'] = $_SESSION['idBeneficiaire_C']; + $this->rediriger("Fichebeneficiaire"); + } else + { + $nbligne = $beneficiaires->rowCount(); + $this->genererVue(array('beneficiaires' => $beneficiaires, 'nbligne' => $nbligne)); + } + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurRechercheprestations.php b/Controleur_sav/ControleurRechercheprestations.php new file mode 100755 index 0000000..76709d5 --- /dev/null +++ b/Controleur_sav/ControleurRechercheprestations.php @@ -0,0 +1,495 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue("Rechercheprestations"); + + $this->beneficiaire = new Pbeneficiaire(); + + viderContexte(); + + $_SESSION['numeroBonOrdonnance_C'] = "-1"; + $_SESSION['numeroBonExamen_C'] = "-1"; + $_SESSION['numeroBonOptique_C'] = "-1"; + $_SESSION['numeroBonKine_C'] = "-1"; + $_SESSION['numeroBonSeance_C'] = "-1"; + } + + public function index() + { + if (isset($_POST['numeroBonConsultation'])) + { + $numeroBonConsultation = trim($_POST['numeroBonConsultation']); + $numeroBonOrdonnance = trim($_POST['numeroBonOrdonnance']); + $numeroBonHospitalisation = trim($_POST['numeroBonHospitalisation']); + $numeroBonOptique = trim($_POST['numeroBonOptique']); + $numeroBonExamen = trim($_POST['numeroBonExamen']); + $numeroBonKine = trim($_POST['numeroBonKine']); + $numeroBonSeance = trim($_POST['numeroBonSeance']); + + // vérifier qu'une variable est un nombre entier + /* + if(ctype_digit($var)){ + echo "Cette variable est un entier et ne contient que des chiffres"; + } else{ + echo "Cette variable n'est pas un entier"; + } + */ + + if ( + ( !empty($numeroBonConsultation) && !is_numeric($numeroBonConsultation) ) or + ( !empty($numeroBonOrdonnance) && !is_numeric($numeroBonOrdonnance) ) or + ( !empty($numeroBonHospitalisation) && !is_numeric($numeroBonHospitalisation) ) or + ( !empty($numeroBonOptique) && !is_numeric($numeroBonOptique) ) or + ( !empty($numeroBonExamen) && !is_numeric($numeroBonExamen) ) or + ( !empty($numeroBonKine) && !is_numeric($numeroBonKine) ) or + ( !empty($numeroBonSeance) && !is_numeric($numeroBonSeance) ) + ) + { + $this->genererVue(array('message_recherche' => 'VALEUR NUMERIQUE EXIGEE!')); + exit(); + } + + if ($numeroBonConsultation=="") + { + $numeroBonConsultation="0"; + } + + if ($numeroBonOrdonnance=="") + { + $numeroBonOrdonnance="0"; + } + + if ($numeroBonHospitalisation=="") + { + $numeroBonHospitalisation="0"; + } + + if ($numeroBonOptique=="") + { + $numeroBonOptique="0"; + } + + if ($numeroBonExamen=="") + { + $numeroBonExamen="0"; + } + + if ($numeroBonKine=="") + { + $numeroBonKine="0"; + } + + if ($numeroBonSeance=="") + { + $numeroBonSeance="0"; + } + + // + + if ( + ( !empty($numeroBonConsultation) && !ctype_digit($numeroBonConsultation) ) or + ( !empty($numeroBonOrdonnance) && !ctype_digit($numeroBonOrdonnance) ) or + ( !empty($numeroBonHospitalisation) && !ctype_digit($numeroBonHospitalisation) ) or + ( !empty($numeroBonOptique) && !ctype_digit($numeroBonOptique) ) or + ( !empty($numeroBonExamen) && !ctype_digit($numeroBonExamen) ) or + ( !empty($numeroBonKine) && !ctype_digit($numeroBonKine) ) or + ( !empty($numeroBonSeance) && !ctype_digit($numeroBonSeance) ) + ) + { + $this->genererVue(array('message_recherche' => 'VALEUR NUMERIQUE EXIGEE! 2')); + exit(); + } + + if ($numeroBonConsultation>"0") + { + $resultat = $this->beneficiaire->getBeneficiaireConsultationCso($numeroBonConsultation); + $idBeneficiaire = $resultat['idBeneficiaire']; + + if ($idBeneficiaire > "0") + { + $idBeneficiaire = $resultat['idBeneficiaire']; + + $numeroFeuilleMaladie = $resultat['numeroFeuilleMaladie']; + + $numeroBonConsultation = $resultat['numeroBonConsultation']; + $numeroBonHospitalisation = $resultat['numeroBonHospitalisation']; + + $numeroBonOrdonnance = $resultat['numeroBonOrdonnance']; + $numeroBonOptique = $resultat['numeroBonOptique']; + $numeroBonExamen = $resultat['numeroBonExamen']; + $numeroBonKine = $resultat['numeroBonKine']; + + $numeroPrescription = $resultat['numeroPrescription']; + $numeroOptique = $resultat['numeroOptique']; + $numeroExamen = $resultat['numeroExamen']; + $numeroPrescriptionKine = $resultat['numeroPrescriptionKine']; + + $beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $_SESSION['numeroFeuilleMaladie_C'] = $numeroFeuilleMaladie; + + $_SESSION['numeroBonConsultation_C'] = $numeroBonConsultation; + $_SESSION['numeroBonHospitalisation_C'] = $numeroBonHospitalisation; + + $_SESSION['numeroBonOrdonnance_C'] = $numeroBonOrdonnance; + $_SESSION['numeroBonOptique_C'] = $numeroBonOptique; + $_SESSION['numeroBonExamen_C'] = $numeroBonExamen; + $_SESSION['numeroBonKine_C'] = $numeroBonKine; + + $_SESSION['numeroPrescription_C'] = $numeroPrescription; + $_SESSION['numeroOptique_C'] = $numeroOptique; + $_SESSION['numeroExamen_C'] = $numeroExamen; + $_SESSION['numeroPrescriptionKine_C'] = $numeroPrescriptionKine; + + $this->rediriger("Feuillemaladiecons"); + exit(); + } + else + { + $this->genererVue(array('message_recherche' => 'BON DE CONSULTATION '.$numeroBonConsultation.' INTROUVABLE!')); + exit(); + } + } + else + if ($numeroBonOrdonnance>"0") + { + $resultat = $this->beneficiaire->getBeneficiaireOrdonnanceCso($numeroBonOrdonnance); + $idBeneficiaire = $resultat['idBeneficiaire']; + + if ($idBeneficiaire > "0") + { + $idBeneficiaire = $resultat['idBeneficiaire']; + + $numeroFeuilleMaladie = $resultat['numeroFeuilleMaladie']; + + $numeroBonConsultation = $resultat['numeroBonConsultation']; + $numeroBonHospitalisation = $resultat['numeroBonHospitalisation']; + + $numeroBonOrdonnance = $resultat['numeroBonOrdonnance']; + $numeroBonOptique = $resultat['numeroBonOptique']; + $numeroBonExamen = $resultat['numeroBonExamen']; + $numeroBonKine = $resultat['numeroBonKine']; + + $numeroPrescription = $resultat['numeroPrescription']; + $numeroOptique = $resultat['numeroOptique']; + $numeroExamen = $resultat['numeroExamen']; + $numeroPrescriptionKine = $resultat['numeroPrescriptionKine']; + + $beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $_SESSION['numeroFeuilleMaladie_C'] = $numeroFeuilleMaladie; + + $_SESSION['numeroBonConsultation_C'] = $numeroBonConsultation; + $_SESSION['numeroBonHospitalisation_C'] = $numeroBonHospitalisation; + + $_SESSION['numeroBonOrdonnance_C'] = $numeroBonOrdonnance; + $_SESSION['numeroBonOptique_C'] = $numeroBonOptique; + $_SESSION['numeroBonExamen_C'] = $numeroBonExamen; + $_SESSION['numeroBonKine_C'] = $numeroBonKine; + + $_SESSION['numeroPrescription_C'] = $numeroPrescription; + $_SESSION['numeroOptique_C'] = $numeroOptique; + $_SESSION['numeroExamen_C'] = $numeroExamen; + $_SESSION['numeroPrescriptionKine_C'] = $numeroPrescriptionKine; + + $this->rediriger("Feuillemaladiecons"); + exit(); + } + else + { + $this->genererVue(array('message_recherche' => 'ORDONNANCE '.$numeroBonOrdonnance.' INTROUVABLE!')); + exit(); + } + } + // Optique + else + if ($numeroBonOptique>"0") + { + $resultat = $this->beneficiaire->getBeneficiaireOptiqueCso($numeroBonOptique); + $idBeneficiaire = $resultat['idBeneficiaire']; + + if ($idBeneficiaire > "0") + { + $idBeneficiaire = $resultat['idBeneficiaire']; + + $numeroFeuilleMaladie = $resultat['numeroFeuilleMaladie']; + + $numeroBonConsultation = $resultat['numeroBonConsultation']; + $numeroBonHospitalisation = $resultat['numeroBonHospitalisation']; + + $numeroBonOrdonnance = $resultat['numeroBonOrdonnance']; + $numeroBonOptique = $resultat['numeroBonOptique']; + $numeroBonExamen = $resultat['numeroBonExamen']; + $numeroBonKine = $resultat['numeroBonKine']; + + $numeroPrescription = $resultat['numeroPrescription']; + $numeroOptique = $resultat['numeroOptique']; + $numeroExamen = $resultat['numeroExamen']; + $numeroPrescriptionKine = $resultat['numeroPrescriptionKine']; + + $beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $_SESSION['numeroFeuilleMaladie_C'] = $numeroFeuilleMaladie; + + $_SESSION['numeroBonConsultation_C'] = $numeroBonConsultation; + $_SESSION['numeroBonHospitalisation_C'] = $numeroBonHospitalisation; + + $_SESSION['numeroBonOrdonnance_C'] = $numeroBonOrdonnance; + $_SESSION['numeroBonOptique_C'] = $numeroBonOptique; + $_SESSION['numeroBonExamen_C'] = $numeroBonExamen; + $_SESSION['numeroBonKine_C'] = $numeroBonKine; + + $_SESSION['numeroPrescription_C'] = $numeroPrescription; + $_SESSION['numeroOptique_C'] = $numeroOptique; + $_SESSION['numeroExamen_C'] = $numeroExamen; + $_SESSION['numeroPrescriptionKine_C'] = $numeroPrescriptionKine; + + $this->rediriger("Feuillemaladiecons"); + exit(); + } + else + { + $this->genererVue(array('message_recherche' => 'BON OPTIQUE '.$numeroBonOptique.' INTROUVABLE!')); + exit(); + } + } + // Fin Optique + else + if ($numeroBonHospitalisation>"0") + { + $resultat = $this->beneficiaire->getBeneficiaireHospit($numeroBonHospitalisation); + $idBeneficiaire = $resultat['idBeneficiaire']; + + if ($idBeneficiaire > "0") + { + $idBeneficiaire = $resultat['idBeneficiaire']; + + $numeroFeuilleMaladie = $resultat['numeroFeuilleMaladie']; + + $numeroBonConsultation = $resultat['numeroBonConsultation']; + $numeroBonHospitalisation = $resultat['numeroBonHospitalisation']; + + $numeroBonOrdonnance = $resultat['numeroBonOrdonnance']; + $numeroBonOptique = $resultat['numeroBonOptique']; + $numeroBonExamen = $resultat['numeroBonExamen']; + $numeroBonKine = $resultat['numeroBonKine']; + + $numeroPrescription = $resultat['numeroPrescription']; + $numeroOptique = $resultat['numeroOptique']; + $numeroExamen = $resultat['numeroExamen']; + $numeroPrescriptionKine = $resultat['numeroPrescriptionKine']; + + $beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $_SESSION['numeroFeuilleMaladie_C'] = $numeroFeuilleMaladie; + + $_SESSION['numeroBonConsultation_C'] = $numeroBonConsultation; + $_SESSION['numeroBonHospitalisation_C'] = $numeroBonHospitalisation; + + $_SESSION['numeroBonOrdonnance_C'] = $numeroBonOrdonnance; + $_SESSION['numeroBonOptique_C'] = $numeroBonOptique; + $_SESSION['numeroBonExamen_C'] = $numeroBonExamen; + $_SESSION['numeroBonKine_C'] = $numeroBonKine; + + $_SESSION['numeroPrescription_C'] = $numeroPrescription; + $_SESSION['numeroOptique_C'] = $numeroOptique; + $_SESSION['numeroExamen_C'] = $numeroExamen; + $_SESSION['numeroPrescriptionKine_C'] = $numeroPrescriptionKine; + + $this->rediriger("Feuillemaladiecons"); + exit(); + } + else + { + $this->genererVue(array('message_recherche' => 'BON HOSPITALISATION '.$numeroBonHospitalisation.' INTROUVABLE!')); + exit(); + } + } + // Examen + else + if ($numeroBonExamen>"0") + { + $resultat = $this->beneficiaire->getBeneficiaireExamenCso($numeroBonExamen); + $idBeneficiaire = $resultat['idBeneficiaire']; + + if ($idBeneficiaire > "0") + { + $idBeneficiaire = $resultat['idBeneficiaire']; + + $numeroFeuilleMaladie = $resultat['numeroFeuilleMaladie']; + + $numeroBonConsultation = $resultat['numeroBonConsultation']; + $numeroBonHospitalisation = $resultat['numeroBonHospitalisation']; + + $numeroBonOrdonnance = $resultat['numeroBonOrdonnance']; + $numeroBonOptique = $resultat['numeroBonOptique']; + $numeroBonExamen = $resultat['numeroBonExamen']; + $numeroBonKine = $resultat['numeroBonKine']; + + $numeroPrescription = $resultat['numeroPrescription']; + $numeroOptique = $resultat['numeroOptique']; + $numeroExamen = $resultat['numeroExamen']; + $numeroPrescriptionKine = $resultat['numeroPrescriptionKine']; + + $beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $_SESSION['numeroFeuilleMaladie_C'] = $numeroFeuilleMaladie; + + $_SESSION['numeroBonConsultation_C'] = $numeroBonConsultation; + $_SESSION['numeroBonHospitalisation_C'] = $numeroBonHospitalisation; + + $_SESSION['numeroBonOrdonnance_C'] = $numeroBonOrdonnance; + $_SESSION['numeroBonOptique_C'] = $numeroBonOptique; + $_SESSION['numeroBonExamen_C'] = $numeroBonExamen; + $_SESSION['numeroBonKine_C'] = $numeroBonKine; + + $_SESSION['numeroPrescription_C'] = $numeroPrescription; + $_SESSION['numeroOptique_C'] = $numeroOptique; + $_SESSION['numeroExamen_C'] = $numeroExamen; + $_SESSION['numeroPrescriptionKine_C'] = $numeroPrescriptionKine; + + $this->rediriger("Feuillemaladiecons"); + exit(); + } + else + { + $this->genererVue(array('message_recherche' => 'BON EXAMEN '.$numeroBonExamen.' INTROUVABLE!')); + exit(); + } + } + // Fin Examen + + // Prescription Kine + else + if ($numeroBonKine>"0") + { + $resultat = $this->beneficiaire->getBeneficiaireKineCso($numeroBonKine); + $idBeneficiaire = $resultat['idBeneficiaire']; + + if ($idBeneficiaire > "0") + { + $idBeneficiaire = $resultat['idBeneficiaire']; + + $numeroFeuilleMaladie = $resultat['numeroFeuilleMaladie']; + + $numeroBonConsultation = $resultat['numeroBonConsultation']; + $numeroBonHospitalisation = $resultat['numeroBonHospitalisation']; + + $numeroBonOrdonnance = $resultat['numeroBonOrdonnance']; + $numeroBonOptique = $resultat['numeroBonOptique']; + $numeroBonExamen = $resultat['numeroBonExamen']; + $numeroBonKine = $resultat['numeroBonKine']; + + $numeroPrescription = $resultat['numeroPrescription']; + $numeroOptique = $resultat['numeroOptique']; + $numeroExamen = $resultat['numeroExamen']; + $numeroPrescriptionKine = $resultat['numeroPrescriptionKine']; + + $beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $_SESSION['numeroFeuilleMaladie_C'] = $numeroFeuilleMaladie; + + $_SESSION['numeroBonConsultation_C'] = $numeroBonConsultation; + $_SESSION['numeroBonHospitalisation_C'] = $numeroBonHospitalisation; + + $_SESSION['numeroBonOrdonnance_C'] = $numeroBonOrdonnance; + $_SESSION['numeroBonOptique_C'] = $numeroBonOptique; + $_SESSION['numeroBonExamen_C'] = $numeroBonExamen; + $_SESSION['numeroBonKine_C'] = $numeroBonKine; + + $_SESSION['numeroPrescription_C'] = $numeroPrescription; + $_SESSION['numeroOptique_C'] = $numeroOptique; + $_SESSION['numeroExamen_C'] = $numeroExamen; + $_SESSION['numeroPrescriptionKine_C'] = $numeroPrescriptionKine; + + $this->rediriger("Feuillemaladiecons"); + exit(); + } + else + { + $this->genererVue(array('message_recherche' => 'BON PRESCRIPTION KINE '.$numeroBonKine.' INTROUVABLE!')); + exit(); + } + } + // Fin Prescription Kine + + // Séance Kine + else + if ($numeroBonSeance>"0") + { + $resultat = $this->beneficiaire->getBeneficiaireSeanceKine($numeroBonSeance); + $idBeneficiaire = $resultat['idBeneficiaire']; + + if ($idBeneficiaire > "0") + { + $numeroBonKine = $resultat['numeroBonKine']; + + $resultat = $this->beneficiaire->getBeneficiaireKineCso($numeroBonKine); + $idBeneficiaire = $resultat['idBeneficiaire']; + + if ($idBeneficiaire > "0") + { + $idBeneficiaire = $resultat['idBeneficiaire']; + + $numeroFeuilleMaladie = $resultat['numeroFeuilleMaladie']; + + $numeroBonConsultation = $resultat['numeroBonConsultation']; + $numeroBonHospitalisation = $resultat['numeroBonHospitalisation']; + + $numeroBonOrdonnance = $resultat['numeroBonOrdonnance']; + $numeroBonOptique = $resultat['numeroBonOptique']; + $numeroBonExamen = $resultat['numeroBonExamen']; + $numeroBonKine = $resultat['numeroBonKine']; + + $numeroPrescription = $resultat['numeroPrescription']; + $numeroOptique = $resultat['numeroOptique']; + $numeroExamen = $resultat['numeroExamen']; + $numeroPrescriptionKine = $resultat['numeroPrescriptionKine']; + + $beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); + + $_SESSION['numeroFeuilleMaladie_C'] = $numeroFeuilleMaladie; + + $_SESSION['numeroBonConsultation_C'] = $numeroBonConsultation; + $_SESSION['numeroBonHospitalisation_C'] = $numeroBonHospitalisation; + + $_SESSION['numeroBonOrdonnance_C'] = $numeroBonOrdonnance; + $_SESSION['numeroBonOptique_C'] = $numeroBonOptique; + $_SESSION['numeroBonExamen_C'] = $numeroBonExamen; + $_SESSION['numeroBonKine_C'] = $numeroBonKine; + + $_SESSION['numeroPrescription_C'] = $numeroPrescription; + $_SESSION['numeroOptique_C'] = $numeroOptique; + $_SESSION['numeroExamen_C'] = $numeroExamen; + $_SESSION['numeroPrescriptionKine_C'] = $numeroPrescriptionKine; + + $this->rediriger("Feuillemaladiecons"); + exit(); + } + } + else + { + $this->genererVue(array('message_recherche' => 'BON SEANCE KINE '.$numeroBonSeance.' INTROUVABLE!')); + exit(); + } + } + // Fin Séance Kine + else + { + $this->genererVue(array('message_recherche' => 'VEUILLEZ ENTRER LES CRITERES DE RECHERCHE')); + } + } + else + { + $this->genererVue(array('message_recherche' => 'VEUILLEZ ENTRER LES CRITERES DE RECHERCHE')); + } + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurRemboursement.php b/Controleur_sav/ControleurRemboursement.php new file mode 100755 index 0000000..d6c43ac --- /dev/null +++ b/Controleur_sav/ControleurRemboursement.php @@ -0,0 +1,132 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Remboursement'); + + $this->remboursement = new Remboursement(); + $this->ged = new Ged(); + } + + public function index($msgErreur=null) + { + $message = ""; + + $nouveau_fichier = "Rien"; + + $idDemandeRemboursement = $_SESSION['idDemandeRemboursement'] ?? '0'; + + if(!empty($_POST)) + { + define('TARGET', $_SESSION['cheminGed']); // Repertoire cible + define('MAX_SIZE', 10000000); // Taille max en octets du fichier + + //var_dump($_SESSION['cheminGed']); + + + + $tabExt = array("bmp", "gif", "jpeg", "jpg", "pdf", "png"); // Extensions autorisees + + + // Variables + $extension = ''; + + + if( !is_dir(TARGET) ) + { + if( !mkdir(TARGET, 0755) ) + { + $message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !'; + } + } + + // On verifie si le champ est rempli + if( !empty($_FILES['fichier_upload']['name']) ) + { + // Recuperation de l'extension du fichier + + $extension = pathinfo($_FILES['fichier_upload']['name'], PATHINFO_EXTENSION); + + // On verifie l'extension du fichier + if(in_array(strtolower($extension), $tabExt)) + { + $message = $_FILES['fichier_upload']['size']; + + // On verifie les dimensions et taille du fichier + if($_FILES['fichier_upload']['size'] <= MAX_SIZE) + { + $taille = $_FILES['fichier_upload']['size']; + + // Parcours du tableau d'erreurs + if(isset($_FILES['fichier_upload']['error']) && UPLOAD_ERR_OK === $_FILES['fichier_upload']['error']) + { + // On renomme le fichier + $nomOrigine = $_FILES['fichier_upload']['name']; + $nouveau_fichier = dateJourSql()."_".uniqid().".".$extension; + + // Si c'est OK, on teste l'upload + if(move_uploaded_file($_FILES['fichier_upload']['tmp_name'], TARGET.$nouveau_fichier)) + { + $message = 'Chargé avec succès / Uploaded successfully'; + + + + // on va envoyer dans la base de données + $this->ged->enregistrergedRD($idDemandeRemboursement, $nomOrigine, $nouveau_fichier, $taille); + } + else + { + // Sinon on affiche une erreur systeme + $message = 'Problème lors du chargement !'; + } + } + else + { + $message = 'Une erreur interne a empêché le chargement'; + } + } + else + { + $message .= $_FILES['fichier_upload']['size']." Erreur dans les dimensions du fichier !"; + // $message = 'Erreur dans les dimensions du fichier !'; + } + } + else + { + // Sinon on affiche une erreur pour l'extension + $message = 'Extension du fichier est incorrecte !'; + } + } + else + { + // Sinon on affiche une erreur pour le champ vide + $message = 'Veuillez sélectionner un fichier SVP! / Please select a file!'; + } + + // fin upload + } + + $msgErreurGed = $message; + + $benficiaires = $this->remboursement->getBeneficaire(); + + $demande = $this->remboursement->getDemandeRemboursement($idDemandeRemboursement); + + $geds = $this->ged->getgedRd(); + + unset($_FILES['fichier_upload']); + + $this->genererVue(array('benficiaires' => $benficiaires, 'msgErreurGed' => $msgErreurGed, + 'demande' => $demande, 'geds' => $geds)); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurRendezvous.php b/Controleur_sav/ControleurRendezvous.php new file mode 100755 index 0000000..b0dc9ae --- /dev/null +++ b/Controleur_sav/ControleurRendezvous.php @@ -0,0 +1,37 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Rendezvous'); + + $this->rendezvous = new Rendezvous(); + $this->prestataire = new Prestataire(); + } + + public function index() + { + $idDemandeRdv = $_SESSION['idDemandeRdv'] ?? '0'; + + $benficiaires = $this->rendezvous->getBeneficaire(); + + $demande = $this->rendezvous->getDemandeRdv($idDemandeRdv); + + $specialites = $this->rendezvous->getSpecialiteRdv(); + + $prestataires = $this->prestataire->getprestatairerdvmobile(); + + $this->genererVue(array('benficiaires' => $benficiaires, 'demande' => $demande, + 'specialites' => $specialites, 'prestataires' => $prestataires)); + } + +} \ No newline at end of file diff --git a/Controleur_sav/ControleurRequetes.php b/Controleur_sav/ControleurRequetes.php new file mode 100755 index 0000000..ab865b7 --- /dev/null +++ b/Controleur_sav/ControleurRequetes.php @@ -0,0 +1,21 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue('Requetes'); + + $this->requetes = (new Requetes())->getListe(); + } + + public function index() { + $this->genererVue(array('requetes' => $this->requetes)); + } +} \ No newline at end of file diff --git a/Controleur_sav/ControleurSpadherent.php b/Controleur_sav/ControleurSpadherent.php new file mode 100755 index 0000000..b25ad38 --- /dev/null +++ b/Controleur_sav/ControleurSpadherent.php @@ -0,0 +1,21 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue("Spadherent"); + + $this->spadherent = new Adherent(); + } + public function index() { + $idAdherent = $_SESSION['idAdherent_C']; + $spadherent = $this->spadherent->getRapportSpAdherent($idAdherent); + $this->genererVue(array('spadherent' => $spadherent)); + } +} \ No newline at end of file diff --git a/Controleur_sav/Ebenegmail.php b/Controleur_sav/Ebenegmail.php new file mode 100755 index 0000000..7040520 --- /dev/null +++ b/Controleur_sav/Ebenegmail.php @@ -0,0 +1,41 @@ +CharSet = 'UTF-8'; // Utiliser UTF-8 +$mail->Encoding = 'base64'; // Encodage du contenu +$mail->isSMTP(); + +//Enable SMTP debugging +// 0 = off (for production use) +// 1 = client messages +// 2 = // dev => client and server messages +// $mail->SMTPDebug = 2; // dev => client and server messages +$mail->SMTPDebug = 0; + +// $mail->Debugoutput = 'html'; + +$mail->Host = 'smtp.gmail.com'; +// $mail->Host = gethostbyname('smtp.gmail.com'); +// if your network does not support SMTP over IPv6 + +$mail->Port = 587; + +$mail->SMTPSecure = 'tls'; + +$mail->SMTPAuth = true; + +$mail->Username = "intersantesaas@gmail.com"; +// $mail->Password = "Moritio1973"; +$mail->Password = "qvix febq ylkp enks"; + +$mail->setFrom('intersantesaas@gmail.com', 'INTER-SANTE : EBENE'); + +$_SESSION['c_mail'] = $mail; diff --git a/Js_sav/app.js b/Js_sav/app.js new file mode 100755 index 0000000..6c050fa --- /dev/null +++ b/Js_sav/app.js @@ -0,0 +1,737 @@ + +//DEBUT GESTION DE HONORAIRE ET APPEL DE FOND +Vue.createApp({ + data() { + return { + message: 'Hello, Vue 3!', + items:[], + isLoading:false, + itemTosave:{}, + session_content : { + 'dateLimiteUsage':document.getElementById('dateLimiteUsage')?.val(), + 'idUtilisateur':document.getElementById('idUtilisateur')?.val(), + 'login':document.getElementById('login')?.val(), + 'nomUtilisateur':document.getElementById('nomUtilisateur')?.val(), + 'prenomsUtilisateur':document.getElementById('prenomsUtilisateur')?.val(), + 'codeTypeUtilisateur':document.getElementById('codeTypeUtilisateur')?.val(), + 'utilisateur_C':document.getElementById('utilisateur_C')?.val(), + 'typeUtilisateur':document.getElementById('typeUtilisateur')?.val(), + 'telephoneUtilisateur':document.getElementById('telephoneUtilisateur')?.val(), + 'emailUtilisateur':document.getElementById('emailUtilisateur')?.val(), + 'codeProfilSysteme':document.getElementById('codeProfilSysteme')?.val(), + 'profil':document.getElementById('profil')?.val(), + 'gestionDroit':document.getElementById('gestionDroit')?.val(), + 'codePrestataireUtilisateur':document.getElementById('codePrestataireUtilisateur')?.val(), + 'codeTypePrestataireUtilisateur':document.getElementById('codeTypePrestataireUtilisateur')?.val(), + 'prestataireUtilisateur':document.getElementById('prestataireUtilisateur')?.val(), + 'telephonePrestataire':document.getElementById('telephonePrestataire')?.val(), + 'emailPrestataire':document.getElementById('emailPrestataire')?.val(), + 'adminProd':document.getElementById('adminProd')?.val(), + 'adminSin':document.getElementById('adminSin')?.val(), + 'adminBon':document.getElementById('adminBon')?.val(), + 'adminDiv':document.getElementById('adminDiv')?.val(), + 'superUser':document.getElementById('superUser')?.val(), + 'codeExercice_C':document.getElementById('codeExercice_C')?.val(), + 'codePeriodeMax':document.getElementById('codePeriodeMax')?.val(), + 'codeExercice1_C':document.getElementById('codeExercice1_C')?.val(), + 'codeExercice2_C':document.getElementById('codeExercice2_C')?.val(), + 'codeMois1_C':document.getElementById('codeMois1_C')?.val(), + 'codeMois2_C':document.getElementById('codeMois2_C')?.val(), + 'idAvenantFacturation':document.getElementById('idAvenantFacturation')?.val(), + 'dUneSemaineAvant_C':document.getElementById('dUneSemaineAvant_C')?.val(), + 'codeMois_C':document.getElementById('codeMois_C')?.val(), + 'dUneSemaineAvantFr_C':document.getElementById('dUneSemaineAvantFr_C')?.val(), + 'debutExercice_C':document.getElementById('debutExercice_C')?.val(), + 'debutExerciceFr_C':document.getElementById('debutExerciceFr_C')?.val(), + 'debutArchivage':document.getElementById('debutArchivage')?.val(), + 'debutArchivageFr':document.getElementById('debutArchivageFr')?.val(), + 'debutMois_C':document.getElementById('debutMois_C')?.val(), + 'debutMoisFr_C':document.getElementById('debutMoisFr_C')?.val(), + 'debutRequeteFr_C':document.getElementById('debutRequeteFr_C')?.val(), + 'finRequeteFr_C':document.getElementById('finRequeteFr_C')?.val(), + 'dateAnalyse_C':document.getElementById('dateAnalyse_C')?.val(), + 'dateAnalyseFr_C':document.getElementById('dateAnalyseFr_C')?.val(), + 'debutGc':document.getElementById('debutGc')?.val(), + 'debutGcFr':document.getElementById('debutGcFr')?.val(), + 'finGcFr':document.getElementById('finGcFr')?.val(), + 'hier_C':document.getElementById('hier_C')?.val(), + 'hierFr_C':document.getElementById('hierFr_C')?.val(), + 'modeDevis':document.getElementById('modeDevis')?.val(), + 'codeSociete':document.getElementById('codeSociete')?.val(), + 'adresseGeoSociete':document.getElementById('adresseGeoSociete')?.val(), + 'adressePostSociete':document.getElementById('adressePostSociete')?.val(), + 'telephoneSociete':document.getElementById('telephoneSociete')?.val(), + 'faxSociete':document.getElementById('faxSociete')?.val(), + 'codePaysSociete':document.getElementById('codePaysSociete')?.val(), + 'typeSociete':document.getElementById('typeSociete')?.val(), + 'nomSociete':document.getElementById('nomSociete')?.val(), + 'nomSociete_C':document.getElementById('nomSociete_C')?.val(), + 'nomProduitSante':document.getElementById('nomProduitSante')?.val(), + 'largeurPhoto':document.getElementById('largeurPhoto')?.val(), + 'longueurPhoto':document.getElementById('longueurPhoto')?.val(), + 'villeSociete':document.getElementById('villeSociete')?.val(), + 'nbUser':document.getElementById('nbUser')?.val(), + 'racineNoAdherent':document.getElementById('racineNoAdherent')?.val(), + 'tauxInteret':document.getElementById('tauxInteret')?.val(), + 'tauxRistourne':document.getElementById('tauxRistourne')?.val(), + 'primeBaseFamille':document.getElementById('primeBaseFamille')?.val(), + 'primeBaseBeneficiaire':document.getElementById('primeBaseBeneficiaire')?.val(), + 'medecinConseil':document.getElementById('medecinConseil')?.val(), + 'emailMedecinConseil':document.getElementById('emailMedecinConseil')?.val(), + 'telephoneMedecinConseil':document.getElementById('telephoneMedecinConseil')?.val(), + 'indicatifTelephone':document.getElementById('indicatifTelephone')?.val(), + 'emailAdministrateurSysteme':document.getElementById('emailAdministrateurSysteme')?.val(), + 'telephoneAdministrateurSysteme':document.getElementById('telephoneAdministrateurSysteme')?.val(), + 'codeInitiateurTache':document.getElementById('codeInitiateurTache')?.val(), + 'codeInitiateurTache':document.getElementById('codeInitiateurTache')?.val(), + 'timezone_identifier':document.getElementById('timezone_identifier')?.val(), + 'idClient_C':document.getElementById('idClient_C')?.val(), + 'numeroClient_C':document.getElementById('numeroClient_C')?.val(), + 'nomClient_C':document.getElementById('nomClient_C')?.val(), + 'codeLangueClient':document.getElementById('codeLangueClient')?.val(), + 'actesHarmonises':document.getElementById('actesHarmonises')?.val(), + 'fusionConsOrd':document.getElementById('fusionConsOrd')?.val(), + 'idClient_d_C':document.getElementById('idClient_d_C')?.val(), + 'nomClient_d_C':document.getElementById('nomClient_d_C')?.val(), + 'idPolice_C':document.getElementById('idPolice_C')?.val(), + 'numeroPolice_C':document.getElementById('numeroPolice_C')?.val(), + 'codeGcAssureur_C':document.getElementById('codeGcAssureur_C')?.val(), + 'codeTypeContrat':document.getElementById('codeTypeContrat')?.val(), + 'policeGroupe':document.getElementById('policeGroupe')?.val(), + 'codeEtape_C':document.getElementById('codeEtape_C')?.val(), + 'tauxTaxe_C':document.getElementById('tauxTaxe_C')?.val(), + 'tauxTaxeAccessoire_C':document.getElementById('tauxTaxeAccessoire_C')?.val(), + 'tauxCommission_C':document.getElementById('tauxCommission_C')?.val(), + 'deduireComm_C':document.getElementById('deduireComm_C')?.val(), + 'codeTypeAvenant_C':document.getElementById('codeTypeAvenant_C')?.val(), + 'codeTypeAvenantCpt_C':document.getElementById('codeTypeAvenantCpt_C')?.val(), + 'idPolice_d_C':document.getElementById('idPolice_d_C')?.val(), + 'numeroPolice_d_C':document.getElementById('numeroPolice_d_C')?.val(), + 'codeEtape_d_C':document.getElementById('codeEtape_d_C')?.val(), + 'tauxTaxe_d_C':document.getElementById('tauxTaxe_d_C')?.val(), + 'tauxTaxeAccessoire_d_C':document.getElementById('tauxTaxeAccessoire_d_C')?.val(), + 'tauxCommission_d_C':document.getElementById('tauxCommission_d_C')?.val(), + 'deduireComm_d_C':document.getElementById('deduireComm_d_C')?.val(), + 'codeEtatPolice_C':document.getElementById('codeEtatPolice_C')?.val(), + 'ndAdh_C':document.getElementById('ndAdh_C')?.val(), + 'ndDep_C':document.getElementById('ndDep_C')?.val(), + 'ndActif_C':document.getElementById('ndActif_C')?.val(), + 'nbCollege_C':document.getElementById('nbCollege_C')?.val(), + 'dateEffet_C':document.getElementById('dateEffet_C')?.val(), + 'dateFin_C':document.getElementById('dateFin_C')?.val(), + 'dateEcheance_C':document.getElementById('dateEcheance_C')?.val(), + 'DateRenouvellement_C':document.getElementById('DateRenouvellement_C')?.val(), + 'dateEffetPolice_C':document.getElementById('dateEffetPolice_C')?.val(), + 'dateFinPolice_C':document.getElementById('dateFinPolice_C')?.val(), + 'dateEcheancePolice_C':document.getElementById('dateEcheancePolice_C')?.val(), + 'dateEffetInitialPolice_C':document.getElementById('dateEffetInitialPolice_C')?.val(), + 'Patient_C':document.getElementById('Patient_C')?.val(), + 'dernierIdAvenant':document.getElementById('dernierIdAvenant')?.val(), + 'dernierDateAvenant':document.getElementById('dernierDateAvenant')?.val(), + 'dernierIdCollege':document.getElementById('dernierIdCollege')?.val(), + 'dateEffet_d_C':document.getElementById('dateEffet_d_C')?.val(), + 'dateFin_d_C':document.getElementById('dateFin_d_C')?.val(), + 'dateEcheance_d_C':document.getElementById('dateEcheance_d_C')?.val(), + 'idEmission_C':document.getElementById('idEmission_C')?.val(), + 'numeroEmission_C':document.getElementById('numeroEmission_C')?.val(), + 'idAdherent_C':document.getElementById('idAdherent_C')?.val(), + 'numeroAdherent_C':document.getElementById('numeroAdherent_C')?.val(), + 'codeEtatAdherent_C':document.getElementById('codeEtatAdherent_C')?.val(), + 'codeEtatBeneficiaire_C':document.getElementById('codeEtatBeneficiaire_C')?.val(), + 'nomAdherent_C':document.getElementById('nomAdherent_C')?.val(), + 'codeProduit_C':document.getElementById('codeProduit_C')?.val(), + 'idCollege_C':document.getElementById('idCollege_C')?.val(), + 'idClientAjax':document.getElementById('idClientAjax')?.val(), + 'idPoliceAjax':document.getElementById('idPoliceAjax')?.val(), + 'codeProduit_d_C':document.getElementById('codeProduit_d_C')?.val(), + 'idCollege_d_C':document.getElementById('idCollege_d_C')?.val(), + 'idClient_d_Ajax':document.getElementById('idClient_d_Ajax')?.val(), + 'idPolice_d_Ajax':document.getElementById('idPolice_d_Ajax')?.val(), + 'idBeneficiaire_C':document.getElementById('idBeneficiaire_C')?.val(), + 'numeroBeneficiaire_C':document.getElementById('numeroBeneficiaire_C')?.val(), + 'nomBeneficiaire_C':document.getElementById('nomBeneficiaire_C')?.val(), + 'dossierPhoto_C':document.getElementById('dossierPhoto_C')?.val(), + 'lienPhoto_C':document.getElementById('lienPhoto_C')?.val(), + 'codeLienParente_C':document.getElementById('codeLienParente_C')?.val(), + 'idSubstitut_C':document.getElementById('idSubstitut_C')?.val(), + 'substitutnonassure_C':document.getElementById('substitutnonassure_C')?.val(), + 'substitutenVigueur_C':document.getElementById('substitutenVigueur_C')?.val(), + 'fraisCarteImp':document.getElementById('fraisCarteImp')?.val(), + 'numeroOptionTarif':document.getElementById('numeroOptionTarif')?.val(), + 'exercieReference_C':document.getElementById('exercieReference_C')?.val(), + 'codeLocalite':document.getElementById('codeLocalite')?.val(), + 'idEntetecontrat':document.getElementById('idEntetecontrat')?.val(), + 'idEntetecontratPolice':document.getElementById('idEntetecontratPolice')?.val(), + 'idSaisie':document.getElementById('idSaisie')?.val(), + 'idSaisie':document.getElementById('idSaisie')?.val(), + 'd1_C':document.getElementById('d1_C')?.val(), + 'd2_C':document.getElementById('d2_C')?.val(), + 'dossierSociete':document.getElementById('dossierSociete')?.val(), + 'codePrestataire_C':document.getElementById('codePrestataire_C')?.val(), + 'controlerPlafondAdherent':document.getElementById('controlerPlafondAdherent')?.val(), + 'controlerPlafondBeneficiaire':document.getElementById('controlerPlafondBeneficiaire')?.val(), + 'decompte_factures_chargees_C':document.getElementById('decompte_factures_chargees_C')?.val(), + 'idDossierClassiquePolice':document.getElementById('idDossierClassiquePolice')?.val(), + 'devise_C':document.getElementById('devise_C')?.val(), + 'codeLangueSociete':document.getElementById('codeLangueSociete')?.val(), + 'codeLangueAdherent':document.getElementById('codeLangueAdherent')?.val(), + 'lang':document.getElementById('lang')?.val(), + 'codeProduitBase':document.getElementById('codeProduitBase')?.val(), + 'barMenu':document.getElementById('barMenu')?.val(), + 'libelleLang':document.getElementById('libelleLang')?.val(), + 'fournisseurSms':document.getElementById('fournisseurSms')?.val(), + 'envoismsactif':document.getElementById('envoismsactif')?.val(), + 'smsAssure':document.getElementById('smsAssure')?.val(), + 'copieSmsPrestataireAssure':document.getElementById('copieSmsPrestataireAssure')?.val(), + 'actVisible':document.getElementById('actVisible')?.val(), + 'AffectionVisible':document.getElementById('AffectionVisible')?.val(), + 'estMedecin':document.getElementById('estMedecin')?.val(), + 'codePointVente':document.getElementById('codePointVente')?.val(), + 'filtrePointVente':document.getElementById('filtrePointVente')?.val(), + 'menu':document.getElementById('menu')?.val(), + 'idReglement_C':document.getElementById('idReglement_C')?.val(), + 'numeroDemandeDecompte_C':document.getElementById('numeroDemandeDecompte_C')?.val(), + 'idPaiementDecompte_C':document.getElementById('idPaiementDecompte_C')?.val(), + 'numeroReglement_C':document.getElementById('numeroReglement_C')?.val(), + 'decede_C':document.getElementById('decede_C')?.val(), + 'dateDeces_C':document.getElementById('dateDeces_C')?.val(), + 'fraisFuneraireDemande_C':document.getElementById('fraisFuneraireDemande_C')?.val(), + 'codePrestataire_C':document.getElementById('codePrestataire_C')?.val(), + 'codePrestataireLivraison_C':document.getElementById('codePrestataireLivraison_C')?.val(), + 'codePrestataire_Dec':document.getElementById('codePrestataire_Dec')?.val(), + 'codePrestataire_CSO':document.getElementById('codePrestataire_CSO')?.val(), + 'codePrestataire_PHA':document.getElementById('codePrestataire_PHA')?.val(), + 'codePrestataire_OPT':document.getElementById('codePrestataire_OPT')?.val(), + 'codePrestataire_SEA':document.getElementById('codePrestataire_SEA')?.val(), + 'codePrestataire_LAB':document.getElementById('codePrestataire_LAB')?.val(), + 'codeTypeBon_C':document.getElementById('codeTypeBon_C')?.val(), + 'idgenerartionbon_C':document.getElementById('idgenerartionbon_C')?.val(), + 'prestataire_C':document.getElementById('prestataire_C')?.val(), + 'codeReseauPrestataire_C':document.getElementById('codeReseauPrestataire_C')?.val(), + 'codeTypePrestataire_C':document.getElementById('codeTypePrestataire_C')?.val(), + 'codeTypeDecompte_C':document.getElementById('codeTypeDecompte_C')?.val(), + 'typeprestataire_C':document.getElementById('typeprestataire_C')?.val(), + 'reseausoinPrestataire_C':document.getElementById('reseausoinPrestataire_C')?.val(), + 'numeroFeuilleMaladie_C':document.getElementById('numeroFeuilleMaladie_C')?.val(), + 'numeroPrescription_C':document.getElementById('numeroPrescription_C')?.val(), + 'numeroOptique_C':document.getElementById('numeroOptique_C')?.val(), + 'numeroExamen_C':document.getElementById('numeroExamen_C')?.val(), + 'numeroPrescriptionKine_C':document.getElementById('numeroPrescriptionKine_C')?.val(), + 'idFacture_C':document.getElementById('idFacture_C')?.val(), + 'numeroBonConsultation_C':document.getElementById('numeroBonConsultation_C')?.val(), + 'numeroBonHospitalisation_C':document.getElementById('numeroBonHospitalisation_C')?.val(), + 'hospitalisation_C':document.getElementById('hospitalisation_C')?.val(), + 'chirurgie_C':document.getElementById('chirurgie_C')?.val(), + 'numeroBonOptique_C':document.getElementById('numeroBonOptique_C')?.val(), + 'numeroBonOrdonnance_C':document.getElementById('numeroBonOrdonnance_C')?.val(), + 'numeroBonExamen_C':document.getElementById('numeroBonExamen_C')?.val(), + 'numeroBonKine_C':document.getElementById('numeroBonKine_C')?.val(), + 'numeroBonSeance_C':document.getElementById('numeroBonSeance_C')?.val(), + 'codeFamilleActePharmacie_C':document.getElementById('codeFamilleActePharmacie_C')?.val(), + 'codeActePharmacie_C':document.getElementById('codeActePharmacie_C')?.val(), + 'codeFamilleActeOptique_C':document.getElementById('codeFamilleActeOptique_C')?.val(), + 'codeActeMonture_C':document.getElementById('codeActeMonture_C')?.val(), + 'codeTarifMedicament_C':document.getElementById('codeTarifMedicament_C')?.val(), + 'codeTarifOptique_C':document.getElementById('codeTarifOptique_C')?.val(), + 'codeTarifActe_C':document.getElementById('codeTarifActe_C')?.val(), + 'idActe_C':document.getElementById('idActe_C')?.val(), + 'codeFamilleActe_C':document.getElementById('codeFamilleActe_C')?.val(), + 'idEntetestat_C':document.getElementById('idEntetestat_C')?.val(), + 'lienPrestation_C':document.getElementById('lienPrestation_C')?.val(), + 'lienProduction_C':document.getElementById('lienProduction_C')?.val(), + 'lienServeur':document.getElementById('lienServeur')?.val(), + 'lienGc_C':document.getElementById('lienGc_C')?.val(), + 'dossierGed':document.getElementById('dossierGed')?.val(), + 'cheminGed':document.getElementById('cheminGed')?.val(), + 'cheminTarifs':document.getElementById('cheminTarifs')?.val(), + 'nbMessagesNonLus_C':document.getElementById('nbMessagesNonLus_C')?.val(), + 'codeUtilisateur':document.getElementById('codeUtilisateur')?.val(), + 'codeModeBiometrie':document.getElementById('codeModeBiometrie')?.val(), + 'fingerActif':document.getElementById('fingerActif')?.val(), + 'faceActif':document.getElementById('faceActif')?.val(), + 'okId':document.getElementById('okId')?.val(), + 'okId_face':document.getElementById('okId_face')?.val(), + 'controlPlafondAdherent':document.getElementById('controlPlafondAdherent')?.val(), + 'controlPlafondBeneficiaire':document.getElementById('controlPlafondBeneficiaire')?.val(), + 'prestationParLienParente':document.getElementById('prestationParLienParente')?.val(), + 'changerMotPassDefaut':document.getElementById('changerMotPassDefaut')?.val(), + 'verifierLongueurPass':document.getElementById('verifierLongueurPass')?.val(), + 'dureeSession':document.getElementById('dureeSession')?.val(), + 'codeModeGenerationPass':document.getElementById('codeModeGenerationPass')?.val(), + 'passExpired':document.getElementById('passExpired')?.val(), + 'passAchanger':document.getElementById('passAchanger')?.val(), + } + }; + }, + mounted() { + + // this.fetchData(); + // this.postData(); + // var session_data = session_data + + // console.log('session_data: ',session_data) + const valeur = session_content + + }, + methods: { + openSweetAlert(icon ='info',text='Test message',title='Alert information'){ + swal({ + title: title, + text: text, + icon: icon, + }); + }, + confirmSave(){ + // toastr.success('Hello, Toastr!', 'Success'); + console.log('itemToSave: ',this.itemTosave) + // this.openSweetAlert('success','Opération éffectuée avec succès','Création d\'utilisateur') + this.openSweetAlert('warning','Vous êtes sur le point de créer un utilisateur, poursuivre?','Création d\'utilisateur') + + }, + openModal(data){ + this.itemTosave={} + if(data.id){ + this.itemTosave = data + } + console.log('data: ',data.id) + const myModal = this.$refs.myModal; + myModal.classList.add('show'); + myModal.style.display = 'block'; + }, + + closeModal(){ + const myModal = this.$refs.myModal; + myModal.classList.remove('show'); + myModal.style.display = 'none'; + }, + async fetchData() { + try { + const response = await fetch('https://jsonplaceholder.typicode.com/todos'); + const data = await response.json(); + this.items = data; + console.log('api data: ',this.items) + } catch (error) { + console.error('Error fetching data:', error); + } + }, + + getItemsUser() { + this.isLoading = true + this.items=[] + const data = { + "user": 48, + "data": { + "login":"amea" + }, + "index": 1, + "size": 10 + } + // debugger + var url = "http://154.0.29.217:7001/api/mciebene/users/getByCriteria" + // Default options are marked with * + fetch(url, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + // Add any additional headers here + }, + body: JSON.stringify(data) + }) + .then(response => response.json()) + .then(data => { + this.isLoading = false + console.log('Success:', data) + // this.items = data.items + console.log('items:', data.items) + console.log('items:', data['items']) + // const values = data.items[0] + // const valuesArray = Object.values(data.items[0]); + // console.log('valuesArray: ',valuesArray) + this.items = data.items + }) + .catch(error => console.error('Error:', error)); + } + + + }, +}).mount('#appHonnaireAppelFond'); + + +//FIN GESTION DE HONORAIRE ET APPEL DE FOND + + + + + + +//DEBUT TABLEAU DE BORD PRODUCTION + + +Vue.createApp({ + data() { + return { + message: 'Hello, Vue 3!', + items:[], + isLoading:false, + itemToSave:{}, + baseUrl:'http://154.0.29.217:7001/api' + + }; + }, + mounted() { + this.getItemsGarant() + // myChart1.destroy(); + // myChart2.destroy(); + // myChart3.destroy(); + + // this.drawChart1(), + // this.drawChart2(), + // this.drawChart3() + + // this.fetchData(); + // this.postData(); + // var session_data = session_data + + // console.log('session_data: ',session_data) + // const valeur = session_content + + }, + methods: { + getItemsGarant() { + this.isLoading = true + this.items=[] + const data = { + user: 48, + data: { + p_typeGarant: 0, + p_libelle: "%%", + p_codeGcAssureur:"%%" + }, + "index": 1, + "size": 10 + } + // debugger + var url = "http://154.0.29.217:7001/api/mciebene/garants/getByCriteria" + // Default options are marked with * + fetch(url, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + // Add any additional headers here + }, + body: JSON.stringify(data) + }) + .then(response => response.json()) + .then(data => { + this.isLoading = false + console.log('Success:', data) + // this.items = data.items + console.log('items:', data.items) + console.log('items:', data['items']) + // const values = data.items[0] + // const valuesArray = Object.values(data.items[0]); + // console.log('valuesArray: ',valuesArray) + this.items = data.items + }) + .catch(error => console.error('Error:', error)); + }, + drawChart1(){ + var data = { + labels: ["Label 1", "Label 2", "Label 3", "Label 4", "Label 5"], + datasets: [{ + label: "My Dataset", + borderColor: "#FF6384", + data: [10, 20, 15, 25, 18], + fill: false + }] + }; + + // Get the context of the canvas element we want to select + var ctx = document.getElementById("myChart") + + // Create a line chart + this.myChart1 = new Chart(ctx, { + type: 'line', + data: data + }); + }, + drawChart2(){ + const ctx = document.getElementById('myChart2'); + new Chart(ctx, { + type: 'bar', + data: { + labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'], + datasets: [{ + label: '# of Votes', + data: [12, 19, 3, 5, 2, 3], + borderWidth: 1 + }, + { + label: '# of Votes', + data: [12, 15, 3, 3, 0, 10], + borderWidth: 1 + }] + }, + options: { + scales: { + y: { + beginAtZero: true + } + } + } + }); + }, + drawChart3(){ + var data = { + labels: ["Label 1", "Label 2", "Label 3", "Label 4"], + datasets: [{ + data: [30, 20, 25, 25], + backgroundColor: ["#FF6384", "#36A2EB", "#FFCE56", "#4CAF50"] + }] + }; + + // Get the context of the canvas element we want to select + var ctx = document.getElementById("myChart3") + + // Create a pie chart + new Chart(ctx, { + type: 'pie', + data: data + }); + }, + openSweetAlert(icon ='info',text='Test message',title='Alert information'){ + swal({ + title: title, + text: text, + icon: icon, + }); + }, + + openModal(data){ + this.itemTosave={} + if(data.id){ + this.itemTosave = data + } + console.log('data: ',data.id) + const myModal = this.$refs.myModal; + myModal.classList.add('show'); + myModal.style.display = 'block'; + }, + + closeModal(){ + const myModal = this.$refs.myModal; + myModal.classList.remove('show'); + myModal.style.display = 'none'; + }, + async fetchData() { + try { + const response = await fetch('https://jsonplaceholder.typicode.com/todos'); + const data = await response.json(); + this.items = data; + console.log('api data: ',this.items) + } catch (error) { + console.error('Error fetching data:', error); + } + }, + + + + + }, +}).mount('#dashboardProductionVue'); + +//FIN TABLEAU DE BORD PRODUCTION + + +//SIDEBAR + + +Vue.createApp({ + + data() { + return { + message: 'Hello, Vue 3!', + items:[], + isLoading:false, + itemToSave:{}, + baseUrl:'http://154.0.29.217:7001/api', + + + + }; + }, + mounted() { + + + // codeSociete = document.getElementById('codeProfil').value + // let codeProfil = document.getElementById('codeProfil').value + // let codeSociete = document.getElementById('codeSociete').value + // this.getItemsMainMenus(codeSociete,codeProfil); + + + }, + methods: { + getItemsMainMenus(societe,profil) { + this.isLoading = true + this.items=[] + const data = { + user: 48, + data: { + p_codeSociete: societe, + p_codeProfil: profil + }, + "index": 1, + "size": 10 + } + // debugger + // var url = "http://154.0.29.217:7001/api/mciebene/garants/getByCriteria" + var url = `${this.baseUrl}/mciebene/mainMenus/getByCriteria` + // Default options are marked with * + fetch(url, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + // Add any additional headers here + }, + body: JSON.stringify(data) + }) + .then(response => response.json()) + .then(data => { + this.isLoading = false + console.log('items before:', data.items) + // data.items.map(it=>{ + // it.children = this.fetchPostData(it) + // }) + + // this.items = JSON.parse(JSON.stringify(data.items)) + this.items = data.items + console.log('items after',this.items) + + }) + .catch(error => console.error('Error:', error)); + }, + + getItemsSubMenus(item={}) { + let codeProfil = document.getElementById('codeProfil').value + let codeSociete = document.getElementById('codeSociete').value + this.isLoading = true + this.subItems=[] + const data = { + user: 48, + data: { + p_codeSociete: codeSociete, + p_codeProfil: codeProfil, + p_vue: item.codeMenu + }, + "index": 1, + "size": 10 + } + // debugger + // var url = "http://154.0.29.217:7001/api/mciebene/garants/getByCriteria" + var url = `${this.baseUrl}/mciebene/subMenus/getByCriteria` + // Default options are marked with * + fetch(url, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + // Add any additional headers here + }, + body: JSON.stringify(data) + }) + // .then(response => response.json()) + .then(data => { + this.isLoading = false + console.log('subItems:', data.items) + // this.subItems = data.items + return data.items + }) + .catch(error => { + + console.error('Error:', error) + return [] + }); + }, + async fetchPostData(item) { + try { + // Replace 'YOUR_API_ENDPOINT' with the actual API endpoint + const body = { + user: 48, + data: { + p_codeSociete: codeSociete, + p_codeProfil: codeProfil, + p_vue: item.codeMenu + }, + "index": 1, + "size": 10 + } + + const response = await fetch(`${this.baseUrl}/mciebene/subMenus/getByCriteria`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + // You may need additional headers based on your API requirements + }, + // Replace 'yourRequestBody' with the actual request body + body: JSON.stringify(body), + }); + + if (!response.ok) { + throw new Error('Network response was not ok'); + return [] + } + + const data = await response.json(); + // this.postData = data; + return data.items + } catch (error) { + console.error('Error fetching data:', error); + return [] + + } + }, + + + openSweetAlert(icon ='info',text='Test message',title='Alert information'){ + swal({ + title: title, + text: text, + icon: icon, + }); + }, + + openModal(data){ + this.itemTosave={} + if(data.id){ + this.itemTosave = data + } + console.log('data: ',data.id) + const myModal = this.$refs.myModal; + myModal.classList.add('show'); + myModal.style.display = 'block'; + }, + + closeModal(){ + const myModal = this.$refs.myModal; + myModal.classList.remove('show'); + myModal.style.display = 'none'; + }, + async fetchData() { + try { + const response = await fetch('https://jsonplaceholder.typicode.com/todos'); + const data = await response.json(); + this.items = data; + console.log('api data: ',this.items) + } catch (error) { + console.error('Error fetching data:', error); + } + }, + + + + + }, +}).mount('#sidebarnavvue'); + +//END SIDE BAR + + diff --git a/Js_sav/confirm_ebene.js b/Js_sav/confirm_ebene.js new file mode 100755 index 0000000..603fcce --- /dev/null +++ b/Js_sav/confirm_ebene.js @@ -0,0 +1,11 @@ + confirm_ebene(v_msg, v_msgEng) + .then((isConfirmed) => { + if (isConfirmed) { + // L'utilisateur a confirmé + + } else { + // L'utilisateur a annulé + console.log("Confirmation refusée"); + } + }); + diff --git a/Js_sav/datepicker-eng.js b/Js_sav/datepicker-eng.js new file mode 100755 index 0000000..dd2b2e1 --- /dev/null +++ b/Js_sav/datepicker-eng.js @@ -0,0 +1,35 @@ +( function( factory ) { + if ( typeof define === "function" && define.amd ) { + + // AMD. Register as an anonymous module. + define( [ "../widgets/datepicker" ], factory ); + } else { + + // Browser globals + factory( jQuery.datepicker ); + } +}( function( datepicker ) { + +datepicker.regional.eng = { + closeText: "Close", + prevText: "Previous", + nextText: "Next", + currentText: "Today'hui", + monthNames: [ "January", "February", "March", "April", "May", "June", + "July", "August", "September", "October", "November", "December" ], + monthNamesShort: [ "jan.", "febr.", "march", "April.", "mai", "June", + "July.", "August", "sept.", "oct.", "nov.", "dec." ], + dayNames: [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "Saturday" ], + dayNamesShort: [ "sun.", "mon.", "tues.", "wed.", "thur", "fri.", "Sat." ], + dayNamesMin: [ "S","M","T","W","T","F","S" ], + weekHeader: "Week", + dateFormat: "dd/mm/yy", + firstDay: 0, + isRTL: false, + showMonthAfterYear: false, + yearSuffix: "" }; +datepicker.setDefaults( datepicker.regional.eng ); + +return datepicker.regional.eng; + +} ) ); \ No newline at end of file diff --git a/Js_sav/datepicker-fr.js b/Js_sav/datepicker-fr.js new file mode 100755 index 0000000..e125fac --- /dev/null +++ b/Js_sav/datepicker-fr.js @@ -0,0 +1,39 @@ +/* French initialisation for the jQuery UI date picker plugin. */ +/* Written by Keith Wood (kbwood{at}iinet.com.au), + Stphane Nahmani (sholby@sholby.net), + Stphane Raimbault */ +( function( factory ) { + if ( typeof define === "function" && define.amd ) { + + // AMD. Register as an anonymous module. + define( [ "../widgets/datepicker" ], factory ); + } else { + + // Browser globals + factory( jQuery.datepicker ); + } +}( function( datepicker ) { + +datepicker.regional.fr = { + closeText: "Fermer", + prevText: "Precedent", + nextText: "Suivant", + currentText: "Aujourd'hui", + monthNames: [ "janvier", "fevrier", "mars", "avril", "mai", "juin", + "juillet", "aout", "septembre", "octobre", "novembre", "decembre" ], + monthNamesShort: [ "janv.", "fevr.", "mars", "avr.", "mai", "juin", + "juil.", "aout", "sept.", "oct.", "nov.", "dec." ], + dayNames: [ "dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi" ], + dayNamesShort: [ "dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam." ], + dayNamesMin: [ "D","L","M","M","J","V","S" ], + weekHeader: "Sem.", + dateFormat: "dd/mm/yy", + firstDay: 1, + isRTL: false, + showMonthAfterYear: false, + yearSuffix: "" }; +datepicker.setDefaults( datepicker.regional.fr ); + +return datepicker.regional.fr; + +} ) ); \ No newline at end of file diff --git a/Js_sav/fonctions.js b/Js_sav/fonctions.js new file mode 100755 index 0000000..93fc550 --- /dev/null +++ b/Js_sav/fonctions.js @@ -0,0 +1,19059 @@ +// Gestion du menu burger - Version simplifiée +document.addEventListener('DOMContentLoaded', function() { + const burgerToggle = document.getElementById('burgerMenuToggle'); + const burgerDropdown = document.getElementById('burgerDropdown'); + + if (burgerToggle && burgerDropdown) { + // Ouvrir/fermer le menu burger + burgerToggle.addEventListener('click', function(e) { + e.preventDefault(); + e.stopPropagation(); + burgerDropdown.classList.toggle('show'); + }); + + // Fermer le menu quand on clique ailleurs sur la page + document.addEventListener('click', function(e) { + if (!e.target.closest('.burger-menu-container')) { + burgerDropdown.classList.remove('show'); + } + }); + + // Empêcher la fermeture quand on clique dans le menu dropdown + burgerDropdown.addEventListener('click', function(e) { + e.stopPropagation(); + }); + } +}); + + +// Fonction pour formater les messages avec retours à la ligne automatiques +function formatMessageForSwal(message) { + if (!message) return ''; + + // Définir la longueur maximale par ligne selon la largeur de l'écran + const screenWidth = window.innerWidth; + let maxLineLength; + + if (screenWidth < 576) { // Mobile + maxLineLength = 40; + } else if (screenWidth < 768) { // Tablet + maxLineLength = 60; + } else { // Desktop + maxLineLength = 80; + } + + // Si le message est déjà court, ne pas le modifier + if (message.length <= maxLineLength && !message.includes('\n')) { + return message; + } + + // Diviser le message en mots + const words = message.split(' '); + let lines = []; + let currentLine = ''; + + words.forEach(word => { + // Si ajouter ce mot dépasse la limite, créer une nouvelle ligne + if ((currentLine + ' ' + word).length > maxLineLength && currentLine !== '') { + lines.push(currentLine); + currentLine = word; + } else { + // Ajouter le mot à la ligne courante + currentLine = currentLine ? currentLine + ' ' + word : word; + } + }); + + // Ajouter la dernière ligne + if (currentLine) { + lines.push(currentLine); + } + + return lines.join('
'); +} + +// Fonction pour ajuster dynamiquement le contenu SweetAlert +function adjustSwalContent() { + const popup = Swal.getPopup(); + const title = Swal.getTitle(); + const htmlContainer = Swal.getHtmlContainer(); + + if (popup && title) { + // Ajuster la largeur maximale selon l'écran + const screenWidth = window.innerWidth; + if (screenWidth < 576) { + popup.style.maxWidth = '95vw'; + popup.style.width = '95vw'; + popup.style.margin = '10px'; + } else if (screenWidth < 768) { + popup.style.maxWidth = '85vw'; + popup.style.width = '85vw'; + } else { + popup.style.maxWidth = '500px'; + popup.style.width = '500px'; + } + + // Gérer le défilement si nécessaire + const titleHeight = title.scrollHeight; + const maxTitleHeight = Math.min(window.innerHeight * 0.6, 400); + + if (titleHeight > maxTitleHeight) { + title.style.overflowY = 'auto'; + title.style.maxHeight = maxTitleHeight + 'px'; + title.style.paddingRight = '10px'; + } + + // Ajuster également le conteneur HTML si présent + if (htmlContainer) { + const containerHeight = htmlContainer.scrollHeight; + const maxContainerHeight = Math.min(window.innerHeight * 0.4, 300); + + if (containerHeight > maxContainerHeight) { + htmlContainer.style.overflowY = 'auto'; + htmlContainer.style.maxHeight = maxContainerHeight + 'px'; + htmlContainer.style.paddingRight = '10px'; + } + } + } +} + +// Fonction d'alerte principale +function alert_ebene(p_msg, p_msg_eng) { + let codeLangue = $("#codeLangue").val(); + let message = (codeLangue === "en_US") ? p_msg_eng : p_msg; + + // Formater le message pour les retours à la ligne + let formattedMessage = formatMessageForSwal(message); + + Swal.fire({ + title: formattedMessage, + icon: 'info', + confirmButtonText: codeLangue === "en_US" ? 'OK' : 'D\'accord', + customClass: { + popup: 'responsive-swal-popup', + title: 'responsive-swal-title', + htmlContainer: 'responsive-swal-html' + }, + didOpen: () => { + adjustSwalContent(); + }, + willOpen: () => { + // Ajustement avant l'ouverture + document.body.style.overflow = 'hidden'; + }, + willClose: () => { + document.body.style.overflow = 'auto'; + } + }); +} + +// Fonction de confirmation +function confirm_ebene(p_msg, p_msg_eng) { + let codeLangue = $("#codeLangue").val(); + let message = (codeLangue === "en_US") ? p_msg_eng : p_msg; + + // Formater le message pour les retours à la ligne + let formattedMessage = formatMessageForSwal(message); + + return Swal.fire({ + title: formattedMessage, + icon: 'warning', + showCancelButton: true, + confirmButtonText: codeLangue === "en_US" ? 'Yes' : 'Oui', + cancelButtonText: codeLangue === "en_US" ? 'No' : 'Non', + customClass: { + popup: 'responsive-swal-popup', + title: 'responsive-swal-title', + htmlContainer: 'responsive-swal-html' + }, + didOpen: () => { + adjustSwalContent(); + }, + willOpen: () => { + document.body.style.overflow = 'hidden'; + }, + willClose: () => { + document.body.style.overflow = 'auto'; + } + }).then((result) => { + return result.isConfirmed; + }); +} + +// Fonction de prompt +function prompt_ebene(p_msg, p_msg_eng, p_retour, callback) { + let codeLangue = $("#codeLangue").val(); + let message = (codeLangue === "en_US") ? p_msg_eng : p_msg; + + // Formater le message pour les retours à la ligne + let formattedMessage = formatMessageForSwal(message); + + Swal.fire({ + title: formattedMessage, + input: 'text', + inputValue: p_retour, + showCancelButton: true, + confirmButtonText: 'OK', + cancelButtonText: 'Annuler', + customClass: { + popup: 'responsive-swal-popup', + title: 'responsive-swal-title', + htmlContainer: 'responsive-swal-html' + }, + didOpen: () => { + adjustSwalContent(); + }, + willOpen: () => { + document.body.style.overflow = 'hidden'; + }, + willClose: () => { + document.body.style.overflow = 'auto'; + } + }).then((result) => { + if (result.isConfirmed) { + callback(result.value); + } else { + callback(null); + } + }); +} + +// Écouter les changements de taille de fenêtre +window.addEventListener('resize', () => { + // Réajuster si une alerte est ouverte + if (Swal.isVisible()) { + setTimeout(adjustSwalContent, 100); + } +}); + +var p_destinataires=""; +var p_message=""; + +function adherents_police() +{ + if ($("#idPolice_C" ).val()>"") + { + window.location.assign($("#racineWeb" ).val()+"Listeadherent/"); + } +} + +$.prototype.enable = function () { + $.each(this, function (index, el) { + $(el).removeAttr('disabled'); + }); +} + +$.prototype.disable = function () { + $.each(this, function (index, el) { + $(el).attr('disabled', 'disabled'); + }); +} + +$.prototype.unreadable = function () { + $.each(this, function (index, el) { + $(el).attr('READONLY', 'READONLY'); + }); +} + +$.prototype.readable = function () { + $.each(this, function (index, el) { + $(el).removeAttr('READONLY'); + }); +} + +Date.estAnneeBissextile = function (annee) { + return (((annee % 4 === 0) && (annee % 100 !== 0)) || (annee % 400 === 0)); +}; + +Date.getDaysInMonth = function (annee, month) { + return [31, (Date.estAnneeBissextile(annee) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]; +}; + +Date.prototype.estAnneeBissextile = function () { + return Date.estAnneeBissextile(this.getFullYear()); +}; + +Date.prototype.getDaysInMonth = function () { + return Date.getDaysInMonth(this.getFullYear(), this.getMonth()); +}; + +Date.prototype.addMonths = function (value) { + var n = this.getDate(); + this.setDate(1); + this.setMonth(this.getMonth() + value); + this.setDate(Math.min(n, this.getDaysInMonth())); + this.setDate(this.getDate()-1); + return this; +}; + +$( ".datepicker" ).datepicker({ + inline: true, + changeMonth: true, + changeYear: true, + yearRange: "c-60:c+20" + +}); + +/*les fonctions courantes et globales */ + +function get_age(dater) +{ + var td2 = $("#datejourfr_C").datepicker("getDate"); + return age = td2.getFullYear()-dater.getFullYear(); +} + +// function controle_age(dater, codeLienParente, controle) +function controle_age(dater, codeLienParente) +{ + age = get_age(dater); + $("#agepersonne").val("Âge : "+age); + + if (age>65) + { + alert("Âge "+age+" supérieur à 65 ans!"); + // controle.focus(); + return false; + } + + if ( (codeLienParente=="E")&& (age>21) ) + { + alert("Âge "+age+" => Enfant âgé de plus de 21 ans!"); + // controle.focus(); + return false; + } + + if ( (codeLienParente=="O")&& (age>21) ) + { + alert("Âge "+age+" => Enfant âgé de plus de 21 ans!"); + // controle.focus(); + return false; + } + + return true; +} + +/* Début JS client */ +function selectionner_client(id,no) +{ + $("#idClient_C").val(id); + $("#numeroClient_C").val(no); + $("#nomClient_C").val(""); +} + +function selectionner_client_d(id,no) +{ + $("#idClient_d_C").val(id); + $("#numeroClient_d_C").val(no); + $("#nomClient_d_C").val(""); +} + +function afficher_client_id() +{ + idClient=$("#idClient_C" ).val(); + + if (idClient>"") + { + ajax_context_client_afficher(idClient); + } +} + +function afficher_client_d_id() +{ + idClient=$("#idClient_d_C" ).val(); + + if (idClient>"") + { + ajax_context_client_d_afficher(idClient); + } +} + + +/* Fin JS client */ + +/* Début JS police */ +function selectionner_police(id,no) +{ + $("#idPolice_C" ).val(id); + $("#numeroPolice_C" ).val(no); +} + +function selectionner_police_d(id,no) +{ + $("#idPolice_d_C" ).val(id); + $("#numeroPolice_d_C" ).val(no); +} + +function afficher_police_id() +{ + idPolice=$("#idPolice_C" ).val(); + + if (idPolice>"") + { + ajax_context_police_afficher(idPolice); + } +} + +function afficher_police_d_id() +{ + idPolice=$("#idPolice_d_C" ).val(); + + if (idPolice>"") + { + ajax_context_police_d_afficher(idPolice); + } +} + + +/* Fin JS client */ + +/* Début JS adherent */ +function selectionner_adherent(id,no) +{ + $("#idAdherent_C" ).val(id); + $("#numeroAdherent_C" ).val(no); +} + +function afficher_adherent() +{ + if ($("#numeroAdherent_C" ).val()>"") + { + window.location.assign($("#racineWeb" ).val()+"Ficheadherent/"+$("#numeroAdherent_C" ).val()+"/"); + } +} + +function afficher_adherent_id() +{ + if ($("#idAdherent_C" ).val()>"") + { + // window.location.assign($("#racineWeb" ).val()+"Ficheadherent/"+$("#idAdherent_C" ).val()+"/"); + window.location.assign($("#racineWeb" ).val()+"Ficheadherent/"); + } +} +/* Fin JS adherent */ + +/* Début JS bénéficiare */ +function selectionner_beneficiaire(id,no) +{ + $("#idBeneficiaire_C").val(id); + $("#numeroBeneficiaire_C" ).val(no); +} + +function afficher_beneficiaire_id() +{ + idBeneficiaire=$("#idBeneficiaire_C").val(); + okId=$("#okId").val(); + + // alert("okId = "+okId); + + // alert("idBeneficiaire:"+idBeneficiaire+"fin"); + //return + + $("#contenu").html('
' + '' + '
'); + + + if (idBeneficiaire>"") + { + ajax_context_beneficiaire_afficher(idBeneficiaire, okId); + } +} + +function afficher_adherent_assure() +{ + if ($("#idAdherent_C" ).val()<=" ") + { + return; + } + window.location.assign($("#racineWeb" ).val()+"ficheadherentassure/"); +} + +function afficher_assure() +{ + if ($("#idAdherent_C" ).val()>"") + { + window.location.assign($("#racineWeb" ).val()+"ficheadherentassure/"+$("#idAdherent_C" ).val()+"/"); + } +} + +/* Fin JS beneficiaire */ + + +function fermerFenetre() +{ + v_msg="Etes-vous sur de vouloir quitter ?"; + v_msgEng="Are you sure you want to exit?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + ajax_deconnexion(); + window.open('about:blank','_parent',''); + close(); + window.close(); + } +} + + +function ChangerPass() +{ + if ($("#ancmdp" ).val()<=' ') + { + alert_ebene("Veuillez saisir l\'ancien mot de passe!", "Please enter the old password!"); + $("#ancmdp").focus(); + return false; + } + + if ($("#nvmdp" ).val()<=' ') + { + alert_ebene("Veuillez saisir un mot de passe!", "Please enter a password!"); + $("#nvmdp").focus(); + return false; + } + + if ($("#nvmdp").val()=='0000' || $("#nvmdp").val()=='radiant') + { + alert_ebene("Veuillez changer de mot de passe!", "Please change password!"); + $("#nvmdp").focus(); + return false; + } + + /* + longueur = $("#nvmdp").val().length; + + if(longueur>0 && longueur<6) + { + alert("6 caractères minimum exigé!", "6 characters minimum required!"); + $("#nvmdp").focus(); + return false; + } + + if ($("#cfnvmdp" ).val()!=$("#nvmdp" ).val()) + { + alert("Veuillez confirmer votre mot de passe!", "Please confirm your password!"); + $("#nvmdp").focus(); + return false; + } + */ +} + +function afficher_image(fichier) +{ + window.open(fichier); +} + + +function selectionner_bon(id,no, codeEtatBon, motifAnnulation) +{ + $("#idBon_C").val(id); + $("#numeroBon_C").val(no); + $("#motifAnnulation_C").val(motifAnnulation); + $("#codeEtatBon_C").val(codeEtatBon); +} + + +function imprimerbon() +{ + if ($("#codeActe").val()<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#codeActe").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + var codeEtatBon = $("input[name='codeEtatBon']").val(); + + if (codeEtatBon!="1") + { + return; + } + + $("#frmconsultation").submit(); +} + +function imprimerbonVierge() +{ + if ($("#codeActe").val()<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + $("#codeTypeBon").val('2'); + $("#frmconsultation").submit(); + $("#codeTypeBon").val('1'); +} + +function calculer_Tm() +{ + $("#montantTm").val( ($("#montantacte").val() * (100-$("#tauxCouverture").val() )) / 100 ); + if ($("#codeMedecin").val()>" ") + $("#numeroBon").focus(); + else + $("#codeMedecin").focus(); + return true; +} + +function controlefocusconsultationMd() +{ + if ($("#codeActe").val()>" ") + $("#numeroBon").focus(); + else + $("#codeActe").focus(); + return true; +} + +function ajaxinfosacteexamen() +{ + if ($("#codeActe").val()<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosacte/", + type : 'post', + data: "codePrestataire="+$("#codePrestataire").val()+"&codeActe="+$("#codeActe").val(), + error: function(errorData) { + }, + success: function(data) { + $("#infosacte").html(data); + }, + complete: function() { + $("#tauxCouverture").val( $("#tauxCouverture_info").val()); + } + }); +} + +function ajaxbonexamendisponible() +{ + if ($("#codeActe").val()<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").focus(); + return; + } + + $("#codeTypeBon").val('1'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxbondisponible/", + type : 'post', + data: "codePrestataire="+$("#codePrestataire").val()+"&numeroBon="+$("#numeroBon").val(), + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#msgErreur").html(data); + }, + complete: function() { + imprimerbon(); + } + }); +} + +function ajaxbonhospitdisponible() +{ + if ($("#codeActe").val()<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").focus(); + return; + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxbondisponible/", + type : 'post', + data: "codePrestataire="+$("#codePrestataire").val()+"&numeroBon="+$("#numeroBon").val(), + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#msgErreur").html(data); + }, + complete: function() { + imprimerbon(); + } + }); +} + +function repondreDemandePec(numeroDemande, codeFamilleActe) +{ + if(codeFamilleActe=="EE") + { + window.location.assign($("#racineWeb").val()+"Repondrepecexamen/"+numeroDemande+"/"); + } + else + { + window.location.assign($("#racineWeb").val()+"Repondrepechospit/"+numeroDemande+"/"); + } +} + +function accueil() +{ + if($("#codeProfil_C" ).val()=="MEC") + { + window.location.assign($("#racineWeb").val()+"Accueilmedecin/"); + } + else + { + window.location.assign($("#racineWeb").val()+"Accueil/"); + } +} + +function accepterexamen(numeroDemande) +{ + window.location.assign($("#racineWeb").val()+"Repondrepecexamen/accepterexamen/"+ numeroDemande +"/"); +} + +function cloturerDemandePecExam(numeroDemande) +{ + if (confirm("Confirmez-vous la clôturte de la demande N° : "+numeroDemande+" ?")) + { + window.location.assign($("#racineWeb").val()+"Examenententeprealable/cloturerdemandepec/"+ numeroDemande +"/"); + } +} + +function cloturerDemandePecHospit(numeroDemande) +{ + if (confirm("Confirmez-vous la clôturte de la demande N° : "+numeroDemande+" ?")) + { + window.location.assign($("#racineWeb").val()+"Avishospitalisation/cloturerdemandepec/"+ numeroDemande +"/"); + } +} + +function cloturerProlongationHospit(numeroDemande) +{ + if (confirm("Confirmez-vous la clôturte de la demande N° : "+numeroDemande+" ?")) + { + window.location.assign($("#racineWeb").val()+"Prologerhospitalisation/cloturerdemandepec/"+ numeroDemande +"/"); + } +} + +function refuserexamen(numeroDemande) +{ + if (confirm("Confirmez-vous le refus de la demande N° : "+numeroDemande+" ?")) + { + var motifReel = prompt("motif du refus ?", ""); + if (motifReel<=" ") + { + v_msg="Vous devez saisir un motif !"; + v_msgEng="You have to enter a reason!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + $("#motifReel").val(motifReel); + $('#frmRefus').submit(); + } +} + +function accepterhospit(numeroDemande) +{ + /* + if( parseInt($("#dureeHospitAccordee").val())' + '' + ''); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxrequetesprofil/", + type : 'post', + data: "codeProfil="+$("#codeProfil").val(), + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listerequete").html(data); + } + }); +} + +function controle_numerique(controle) +{ + if(isNaN(controle.value)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + controle.value=""; + controle.focus(); + return false; + } + return true; +} + +function ajax_context_client(idClient) +{ + donnees = 'idClient='+idClient; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextclient/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + } + }); +} + +function ajax_context_client_afficher(idClient) +{ + donnees = 'idClient='+idClient; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextclient/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + complete: function() { + window.location.assign($("#racineWeb" ).val()+"Ficheclient/"); + } + }); +} + +function ajax_context_police(idPolice) +{ + donnees = 'idPolice='+idPolice; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextpolice/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + } + }); +} + + +function ajax_context_police_afficher(idPolice) +{ + donnees = 'idPolice='+idPolice; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextpolice/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + complete: function() { + window.location.assign($("#racineWeb" ).val()+"Fichepolice/"); + } + }); +} + +function ajax_deconnexion() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdeconnexion/" + }); +} + +function ajax_flexcode() +{ + // donnees = 'idPolice='+idPolice; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxflexcode/", + type : 'post', + // data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#content").html(data); + }, + complete: function() { + // window.location.assign($("#racineWeb" ).val()+"Fichepolice/"); + } + }); +} + +function controle_champ_obligatoire(controle) +{ + if (controle.value<=" ") + { + v_msg="Valeur exigée!"; + v_msgEng="Value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + controle.focus(); + return false; + } + return true; +} + +function exporter_liste_assures() +{ + //alert("exporter_liste_assures"); + //return; + + $('#div_liste').html(''); + + + var div_export = $('#div_export'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxexporterlisteassure/", + type: 'POST', + success: function(data) + { + div_export.html(data); + }, + error : function(resultat, statut, erreur) + { + alert(erreur); + }, + complete: function(data) + { + } + }); +} + + +function imprimer_liste_assures() +{ + //alert("imprimer_liste_assures"); + //return; + + $('#div_liste').html(''); + + var div_export = $('#div_export'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaximprimerlisteassure/", + type: 'POST', + success: function(data) + { + div_export.html(data); + }, + error : function(resultat, statut, erreur) + { + alert(erreur); + }, + complete: function(data) + { + } + }); +} + +function imprimer_limites() +{ + $('#div_liste').html(''); + + var div_export = $('#div_export'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaximprimerlimite/", + type: 'POST', + success: function(data) + { + div_export.html(data); + }, + error : function(resultat, statut, erreur) + { + alert(erreur); + }, + complete: function(data) + { + } + }); +} + +function pop_tableau_prestation() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxtableauprestation/", + type : 'post', + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_tableau_prestation").html(data); + }, + complete: function() { + $("#btn_pop").click(); + } + }); +} + +function selectionner_tout_limite(p_idCollegeTemp, p_choix) +{ + donnees = 'idCollegeTemp='+p_idCollegeTemp; + donnees += '&choix='+p_choix; + + // alert(donnees); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxselectionlimite/selectionnertout/", + type: 'POST', + data: donnees, + success: function(data) { + }, + error: function(data) { + // alert(data); + }, + complete: function() { + recapituler_limite_college_simple(); + pop_afficher_selection_limite(p_idCollegeTemp); + } + }); +} + +function prestation_possible() +{ + enVigueur=$("#enVigueur_C").val(); + codeEtatBeneficiaire=$("#codeEtatBeneficiaire_C").val(); + etatbeneficiaire=$("#etatbeneficiaire_C").val(); + college_couvert=$("#college_couvert_C").val(); + derogation_en_cours=$("#derogation_en_cours_C").val(); + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + + datejour = $("#datejour_C").val(); + dateEffetPolice = $("#dateEffetPolice_C").val(); + dateEcheancePolice = $("#dateEcheancePolice_C").val(); + + if (enVigueur!="1") + { + v_msg="Attention! cette personne n'est pas en vigueur"; + v_msgEng="Warning! This person is not in force"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + + if (codeEtatBeneficiaire!="V") + { + alert("Attention! "+etatbeneficiaire); + return false; + } + + if (college_couvert!="1" && derogation_en_cours<1) + { + v_msg="Attention! Cette personne n'a pas accès à ce centre"; + v_msgEng="Warning! This person does not have access to this center"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + + // var td0 = new Date(dateEffetPolice); + var td0 = new Date(dateEntreeBeneficiaire); + var td1 = new Date(datejour); + var td2 = new Date(dateEcheancePolice); + + dt0=Math.round(Date.parse(td0)/(1000*3600*24)); + dt1=Math.round(Date.parse(td1)/(1000*3600*24)); + dt2=Math.round(Date.parse(td2)/(1000*3600*24)); + + // if (dt1>dt2) + if (dt1>dt2 || dt1"2000-01-01") + { + var tdd = new Date(dateSortieBeneficiaire); + dtd=Math.round(Date.parse(tdd)/(1000*3600*24)); + + if (dt1>dtd) + { + v_msg="Attention! cette personne n'est pas couverte à cette date!"; + v_msgEng="Warning! This person is not valid on this date!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + } + + + dateDeces_C=$("#dateDeces_C").val(); + + if(dateDeces_C>"2000-01-01") + { + v_msg="Attention! personne décédée !"; + v_msgEng="Warning! Deceased !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + + return true; +} + +function consultation() +{ + modeSaisieFacture=$("#modeSaisieFacture").val(); + + if(modeSaisieFacture=="1") + { + $("#btn_popdate_reelle").click(); + return; + } + + if (prestation_possible()) + { + modeSaisieFacture=$("#modeSaisieFacture").val(); + + // alert("modeSaisieFacture = "+modeSaisieFacture); + + if(modeSaisieFacture=="1") + { + $("#okId" ).val("1"); + window.location.assign($("#racineWeb" ).val()+"Consultation/"); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + } + else + { + finger_id = $("#finger_id_C" ).val(); + + if (finger_id==0) + { + v_msg="Veuillez procéder à l\'enrôlement avant !"; + v_msgEng="Please enroll before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + okId=$("#okId" ).val(); + + if (okId!=1) + { + v_msg="Veuillez procéder à l\'identification avant !"; + v_msgEng="Please check identity before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + } + + window.location.assign($("#racineWeb" ).val()+"Consultation/"); + } +} + +function gestionbon() +{ + adminBon = $("#adminBon" ).val(); + + if (adminBon!="1") + { + v_msg="Accès refusé !"; + v_msgEng="Access denied!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + window.location.assign($("#racineWeb").val()+"Receptionbons/"); +} + +function afficherbon() +{ + codeTypeBon=$("#codeTypeBon").val(); + codeEtatBon=$("#codeEtatBon").val(); + + noDepart=$("#noDepart").val(); + noFin=$("#noFin").val(); + + if (noDepart=="") + { + noDepart="0"; + } + + if (noFin=="") + { + noFin="0"; + } + + noDepart = parseInt(noDepart); + noFin = parseInt(noFin); + + if (codeTypeBon<=" ") + { + v_msg="Veuillez sélectionner un type de bon !"; + v_msgEng="Please select a prescription type!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeTypeBon").focus(); + return; + } + + if (noFin' + '' + ''); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxafficherbons/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_bonpecs").html(data); + }, + complete: function() { + $("#nbligne").val("Nombre de bons affichés : "+$("#nbligne_info").val()); + } + }); +} + +function demander_annulation_bon() +{ + var codeEtatBon = $("#codeEtatBon_C").val(); + var motifAnnulation = $("#motifAnnulation_C").val(); + var numeroBon = $("#numeroBon_C").val(); + var idBon = $("#idBon_C").val(); + + if (numeroBon<=" ") + { + v_msg="Veuillez sélectionner une ligne!"; + v_msgEng="Please select a line!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + if (codeEtatBon=="3") + { + v_msg="Anullé pour motif : "+motifAnnulation; + v_msgEng="Canceled for reason : "+motifAnnulation; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + if (codeEtatBon=="4") + { + v_msg="Remplacé pour motif : "+motifAnnulation; + v_msgEng="Replaced for reason : "+motifAnnulation; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + if (codeEtatBon=="9") + { + v_msg="Demande anullation pour motif : "+motifAnnulation; + v_msgEng="Cancellation request for reason : "+motifAnnulation; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous la demande d\'annulation du bon No "+numeroBon+" ?"; + v_msgEng="Do you confirm the request for cancellation of the prescription No "+numeroBon+" ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + motifAnnulation = prompt("A annuler pour quel motif ?", motifAnnulation); + if (motifAnnulation<=" ") + { + v_msg="Vous devez saisir un motif !"; + v_msgEng="You have to enter a reason!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + $("#motifAnnulation_C").val(motifAnnulation); + + donnees = 'idBon='+idBon+'&motifAnnulation='+motifAnnulation; + donnees_sav = 'idBon='+idBon+'&typeMail=maildemandeannulationbon'; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxafficherbons/demanderAnnulationBon/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + }, + complete: function() { + mettremailattente(donnees_sav); + + v_msg="Demande envoyée avec succès !"; + v_msgEng="Request sent successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + afficherbon(); + } + }); + } +} + +function enregistrer_commande_bon() +{ + // alert("enregistrer_commande_bon"); + + codeTypeBon=$("#codeTypeBon").val(); + + if ($("#codeTypeBon").val()<" ") + { + v_msg="Veuillez sélectionner un type de bon !"; + v_msgEng="Please select a prescription type!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeTypeBon").focus(); + return; + } + + quantite =$("#quantite").val(); + + if (quantite<" ") + { + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#quantite").focus(); + return; + } + + quantite = parseInt(quantite); + + if(quantite<1) + { + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#quantite").focus(); + return; + } + + commentaire=$("#commentaire").val(); + + if ($("#commentaire").val()<" ") + { + v_msg="Veuillez saisir une note !"; + v_msgEng="Please enter a note/comment!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#commentaire").focus(); + return; + } + + v_msg="Confirmez-vous cette commande ?"; + v_msgEng="Do you confirm this order?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + var codehtml = ""; + + if (confirm(v_msg)) + { + prestataire = $("#prestataire_C").val(); + donnees = 'codeTypeBon='+codeTypeBon+'&quantite='+quantite; + donnees_sav = donnees+'&prestataire='+prestataire+'&typeMail=mailcommandebon'; + + lst_libelleBon = document.getElementById("codeTypeBon"); + libelleBon = lst_libelleBon.options[lst_libelleBon.selectedIndex].text.trim(); + typeSms = "commandebon"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcommanderbons/commanderBon/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + codehtml = data; + preparesms(typeSms); + }, + complete: function() { + mettremailattente(donnees_sav); + + v_msg="commande envoyée avec succès !"; + v_msgEng="Order sent successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#div_page_entiere").html(codehtml); + } + }); + } +} + +function receptionner_bon() +{ + nbligne_info=$("#nbligne_info").val(); + nbligne_info = parseInt(nbligne_info); + + // alert(nbligne_info); + // return; + + if (nbligne_info==0) + { + v_msg="Veuillez actualiser la liste avant !"; + v_msgEng="Please refresh before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + codeTypeBon=$("#codeTypeBon").val(); + + noDepart=$("#noDepart").val(); + noFin=$("#noFin").val(); + + if (noDepart=="") + { + noDepart="0"; + } + + if (noFin=="") + { + noFin="0"; + } + + noDepart = parseInt(noDepart); + noFin = parseInt(noFin); + + if (codeTypeBon<=" ") + { + v_msg="Veuillez sélectionner un type de bon !"; + v_msgEng="Please select a prescription type!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeTypeBon").focus(); + return; + } + + if (noFin' + '' + ''); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxalistegenererbons/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_bonpecs").html(data); + }, + complete: function() { + $("#nbligne").val("Nombre de lignes affichées : "+$("#nbligne_info").val()); + } + }); +} + + +function listerdemandebon() +{ + codeTypeBon=$("#codeTypeBon").val(); + d1=$("#d1").val(); + d2=$("#d2").val(); + + if (codeTypeBon<=" ") + { + v_msg="Veuillez sélectionner un type de bon !"; + v_msgEng="Please select a prescription type!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeTypeBon").focus(); + return; + } + + donnees = 'codeTypeBon='+codeTypeBon+'&d1='+d1+'&d2='+d2; + + $("#div_bonpecs").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxalistedemandebon/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_bonpecs").html(data); + }, + complete: function() { + } + }); +} + +function ajaxactespossibles() +{ + codeFamilleActe=$("#codeFamilleActe").val(); + codeTypePrestation=$("#codeTypePrestation").val(); + + donnees = 'codeFamilleActe='+codeFamilleActe+'&codeTypePrestation='+codeTypePrestation; + + // alert("ajaxactespossibles() : "+donnees); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxactespossibles/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listeacte").html(data); + + $("#prixActe_info").val("0"); + $("#montantTm_info").val("0"); + $("#aRembourser_info").val("0"); + + $("#numeroBon").val(""); + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + } + }); +} + +function ajaxactespossibles_med() +{ + codeFamilleActe=$("#codeFamilleActe").val(); + codeTypePrestation=$("#codeTypePrestation").val(); + + donnees = 'codeFamilleActe='+codeFamilleActe+'&codeTypePrestation='+codeTypePrestation; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxactespossiblesmed/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listeacte").html(data); + + $("#prixActe_info").val("0"); + $("#montantTm_info").val("0"); + $("#aRembourser_info").val("0"); + }, + complete: function() { + } + }); +} + +function ajaxinfosacte() +{ + if ($("#codeActe").val()<=" ") + { + $("#prixActe_info").val("0"); + $("#montantTm_info").val("0"); + $("#aRembourser_info").val("0"); + + $("#numeroBon").val(""); + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosacte/", + type : 'post', + data: "codePrestataire="+$("#codePrestataire").val()+"&codeActe="+$("#codeActe").val(), + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosacte").html(data); + }, + complete: function() { + $("#montantacte").val( $("#montantacte_info").val()); + $("#tauxCouverture").val( $("#tauxCouverture_info").val()); + // calculer_Tm(); + } + }); +} + + +function ajaxprixacte() +{ + codeActe = $("#codeActe").val(); + + if (codeActe<=" ") + { + $("#prixActe_info").val("0"); + $("#montantTm_info").val("0"); + $("#aRembourser_info").val("0"); + + + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + donnees = 'codeActe='+codeActe; + + // alert(donnees); + // alert("ajaxprixacte() : "+donnees); + + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxprixacte/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // alert(data); + $("#infosacte").html(data); + + $("#numeroBon").val(""); + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + // $("#observations").focus(); + $("#codeRaisonConsultation").focus(); + }, + complete: function() { + } + }); +} + + +function ajaxbondisponible() +{ + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + + $("#numeroBon").val(""); + + return; + } + + codeActe = $("#codeActe").val(); + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + + $("#numeroBon").val(""); + + return; + } + + codeRaisonConsultation = $("#codeRaisonConsultation").val(); + + if (codeRaisonConsultation<=" ") + { + v_msg="Veuillez sélectionner une raison pour la consultation !"; + v_msgEng="Please select a reason for the consultation!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeRaisonConsultation").focus(); + + $("#numeroBon").val(""); + + return; + } + + numeroBon = $("#numeroBon").val(); + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxbondisponible/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function ajaxinfosbonconsultation() +{ + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").val(""); + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + return; + } + + codeActe = $("#codeActe").val(); + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").val(""); + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#codeActe").focus(); + return; + } + + codeRaisonConsultation = $("#codeRaisonConsultation").val(); + + if (codeRaisonConsultation<=" ") + { + v_msg="Veuillez sélectionner une raison pour la consultation !"; + v_msgEng="Please select a reason for the consultation!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").val(""); + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#codeRaisonConsultation").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonconsultation/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function enregistrerconsultation() +{ + numeroBonSave = $("#numeroBonSave").val(); + + codeMedecin = $("#codeMedecin").val(); + medecinManquant = $("#medecinManquant").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + return; + } + + if (codeMedecin=="ZZZZ" && medecinManquant<=" ") + { + v_msg="Veuillez saisir le nom du médecin non enregistré!"; + v_msgEng="Please enter the name of the non-registered doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#medecinManquant").focus(); + return; + } + + codeActe = $("#codeActe").val(); + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + codeRaisonConsultation = $("#codeRaisonConsultation").val(); + + if (codeRaisonConsultation<=" ") + { + v_msg="Veuillez sélectionner une raison pour la consultation !"; + v_msgEng="Please select a reason for the consultation!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeRaisonConsultation").focus(); + return; + } + + /* + codeAffection = $("#codeAffection").val(); + if (codeAffection<=" ") + { + alert("Veuillez sélectionner une affectiuon !"); + $("#codeActe").focus(); + return; + } + */ + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number of presciption ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + dateSurvenance = $("#dateSurvenance").val(); + observations = $("#observations").val(); + prixActe = $("#prixActe").val(); + montantTm = $("#montantTm").val(); + aRembourser = $("#aRembourser").val(); + numeroDerogation = $("#derogation_en_cours_C").val(); + numeroDerogationFinger = $("#derogation_finger_en_cours_C").val(); + + if (numeroDerogation<1) + { + numeroDerogation = "0"; + } + + if (numeroDerogationFinger<1) + { + numeroDerogationFinger = "0"; + } + + donnees = 'codeActe='+codeActe+'&numeroBon='+numeroBon+'&codeMedecin='+codeMedecin+'&codeRaisonConsultation='+codeRaisonConsultation; + donnees += '&dateSurvenance='+dateSurvenance+'&observations='+observations+'&prixActe='+prixActe; + donnees += '&montantTm='+montantTm+'&aRembourser='+aRembourser+'&numeroDerogation='+numeroDerogation; + donnees += '&numeroDerogationFinger='+numeroDerogationFinger; + donnees += '&medecinManquant='+medecinManquant; + + donnees_sav = donnees; + + $("#btn_enreg").prop('disabled', true); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerconsultation/enregistrerconsultation/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) + { + maj_fraisexclu_cso(); + + typeSms="accident"; + + if(codeRaisonConsultation=="ACIR") + { + preparesms(typeSms); + + v_msg="alerte envoyée pour accident!"; + v_msgEng="alert sent for accident!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }, + complete: function() { + v_msg="Consultation enregistrée avec succès"; + v_msgEng="Saved successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + feuillemaladie(); + } + }); + } +} + + +function selectionner_feuille_maladie(no) +{ + $("#numeroFeuilleMaladie_C" ).val(no); +} + +function afficher_feuille_maladie() +{ + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C" ).val(); + + if (numeroFeuilleMaladie>"") + { + ajax_context_feuille_maladie_afficher(numeroFeuilleMaladie); + } +} + +function ajax_context_feuille_maladie_afficher(numeroFeuilleMaladie) +{ + donnees = 'numeroFeuilleMaladie='+numeroFeuilleMaladie; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfeuillemaladie/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + complete: function() { + window.location.assign($("#racineWeb" ).val()+"Feuillemaladiecons/"); + } + }); +} + + +function chercher_ordonnance(numeroBonOrdonnance) +{ + donnees = 'numeroBonOrdonnance='+numeroBonOrdonnance; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerordonnance/", + type: 'POST', + data: donnees, + success: function(data) { + }, + error: function(data) { + //alert(data); + }, + complete: function() { + window.location.assign($("#racineWeb" ).val()+"Pharmacien/"); + } + }); +} + +function chercher_ordonnance_opt(numeroBonOptique) +{ + if(numeroBonOptique<="0") + { + // actualiser_opticien(); + reinitialiser_opticien(); + return; + } + donnees = 'numeroBonOptique='+numeroBonOptique; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerordonnanceopt/", + type: 'POST', + data: donnees, + success: function(data) { + window.location.assign($("#racineWeb" ).val()+"Opticien/"); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + + +function chercher_ordonnance_lab(numeroBonExamen) +{ + donnees = 'numeroBonExamen='+numeroBonExamen; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerordonnancelab/", + type: 'POST', + data: donnees, + success: function(data) { + window.location.assign($("#racineWeb" ).val()+"Laboratoire/"); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function ctrlkeypressord(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + numeroBonOrdonnance=$("#numeroBonOrdonnance").val(); + $("#numeroBonOrdonnance").blur(); + } +} + +function rechercherbonordonnance() +{ + numeroBonOrdonnance=$("#numeroBonOrdonnance").val(); + + if (numeroBonOrdonnance>" ") + { + chercher_ordonnance(numeroBonOrdonnance); + } +} + + +function ctrlkeypressordopt(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + numeroBonOptique=$("#numeroBonOptique").val(); + $("#numeroBonOptique").blur(); + } +} + + +function ctrlkeypressordlab(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + numeroBonExamen=$("#numeroBonExamen").val(); + $("#numeroBonExamen").blur(); + } +} + +function rechercherbonoptique() +{ + numeroBonOptique=$("#numeroBonOptique").val(); + + if (numeroBonOptique>" ") + { + chercher_ordonnance_opt(numeroBonOptique); + } +} + +function valider_presciption() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cette ordonnance ?"; + v_msgEng="Do you confirm this prescription ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + feuillemaladie(); + } +} + +function ajaxchanger_type_bon() +{ + $("#msgErreur").html(""); +} + +function ajaxprixactemed() +{ + $("#prixActe_info").val("0"); + $("#montantTm_info").val("0"); + $("#aRembourser_info").val("0"); + + codeActe = $("#codeActe").val(); + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#quantite").focus(); + + return; + } + + donnees = 'codeActe='+codeActe+'&quantite='+quantite; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxprixactemed/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // alert(data); + $("#infosacte").html(data); + }, + complete: function() { + } + }); +} + +function enregistreractemedical() +{ + acteExclu = $("#acteExclu").val(); + + autorisation = "0"; + + if(acteExclu==1) + { + autorisation = "2"; + + v_msg="Acte non couvert !"; + v_msgEng="Not covered !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + donnees="" + donnees_sav=""; + + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#nomMedecin").focus(); + return; + } + + codeActe = $("#codeActe").val(); + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + div_prix = $("#prixActe"); + prixActe = div_prix.val(); + + prixTarif = $("#prixTarif").val(); + + if(prixActe==0 || parseFloat(prixActe)>parseFloat(prixTarif)) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + quantite = parseInt(quantite); + div_quantite.val(quantite); + + if(quantite==0) + { + div_quantite.focus(); + + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please neter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cet acte ?"; + v_msgEng="Do you confirm this act ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + prixActe = $("#prixActe").val(); + valeurActe = $("#valeurActe").val(); + + montantTm = $("#montantTm").val(); + aRembourser = $("#aRembourser").val(); + + ententePrealable = $("#ententePrealable").val(); + + if(ententePrealable==1) + { + ententePrealable = "2"; + } + + donnees = 'codeActe='+codeActe+'&codeMedecin='+codeMedecin+'&quantite='+quantite+'&ententePrealable='+ententePrealable; + donnees += '&prixActe='+prixActe+'&valeurActe='+valeurActe+'&montantTm='+montantTm+'&aRembourser='+aRembourser; + donnees += '&autorisation='+autorisation+'&prixTarif='+prixTarif; + + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val(); + + donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable'; + donnees_sav2 = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailautorisation'; + + typeSms="ententeprealable"; + typeSms2="autorisation"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistreractemedical/enregistreractemedical/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + maj_fraisexclu_cso(); + + if(ententePrealable=="2") + { + preparesms(typeSms); + + v_msg="Demande accord prealable envoyée !"; + v_msgEng="Request prior agreement sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + + if(autorisation=="2") + { + preparesms(typeSms2); + + v_msg="Demande autorisation envoyée !"; + v_msgEng="Request for authorization sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }, + complete: function() { + if(ententePrealable=="2") + { + mettremailattente(donnees_sav); + } + + if(autorisation=="2") + { + mettremailattente(donnees_sav2); + } + + feuillemaladie(); + } + }); + } +} + +function ajax_changer_qte_acte() +{ + codeActe = $("#codeActe").val(); + prixActe = $("#prixActe").val(); + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.focus(); + div_quantite.val(""); + + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please neter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'codeActe='+codeActe+'&quantite='+quantite+'&prixActe='+prixActe; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerqteacte/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // alert(data); + $("#infosacte").html(data); + }, + complete: function() { + } + }); +} + +function supprimer_acte_medical(idPrestationactes, codeTypePrestation) +{ + v_msg="Confirmez-vous la suppression de cet acte ?"; + v_msgEng="Do you confirm the removal of this act ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + donnees = 'idPrestationactes='+idPrestationactes+'&codeTypePrestation='+codeTypePrestation; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistreractemedical/supprimeracte/", + type: 'POST', + data: donnees, + success: function(data) { + feuillemaladie_ajax(); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); + } +} + +function supprimer_chambre(idChambre) +{ + v_msg="Confirmez-vous la suppression de cette chambre ?"; + v_msgEng="Do you confirm the removal of this room ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + donnees = 'idPrestationactes='+idChambre+'&codeTypePrestation=HOSP'; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistreractemedical/supprimeracte/", + type: 'POST', + data: donnees, + success: function(data) { + attribution_chambre(); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); + } +} + +function ajaxinfosbonhospitalisation() +{ + numeroBonHospitalisation = $("#numeroBonHospitalisation").val(); + numeroBonHospitalisation = parseInt(numeroBonHospitalisation); + if (numeroBonHospitalisation>0) + { + v_msg="Déjà effectué !"; + v_msgEng="Already done !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon Hospitalisation !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonhospitalisation/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function enregistrerhospitalisation() +{ + numeroBonSave = $("#numeroBonSave").val(); + + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + donnees = 'numeroBon='+numeroBon+'&numeroFeuilleMaladie='+numeroFeuilleMaladie; + donnees_sav = donnees+'&typeMail=mailhospitalisation'; + + $("#btn_enreg").prop('disabled', true); + + typeSms="hospitalisation"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerhospitalisation/enregistrerhospitalisation/", + type : 'post', + data: donnees, + error: function(errorData) { + // $("#msgErreur").html(errorData); + }, + success: function(data) { + // preparewhatsapp(typeSms); + preparesms(typeSms); + + v_msg="Avis hospitalisation envoyé !"; + v_msgEng="Hospitalization notice sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + }, + complete: function() { + mettremailattente(donnees_sav); + + attribution_chambre(); + } + }); + } +} + +function ajaxprixchambre() +{ + $("#btn_enreg").prop('disabled', true); + + $("#prixActe_info").val("0"); + $("#montantTm_info").val("0"); + $("#aRembourser_info").val("0"); + + codeActe = $("#codeActe").val(); + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un type de chambre !"; + v_msgEng="Please select a category of room !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.focus(); + v_msg="Veuillez saisir la durée !"; + v_msgEng="Please enter the duration !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + donnees = 'codeActe='+codeActe+'&quantite='+quantite; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxprixchambre/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // alert(data); + $("#infosacte").html(data); + }, + complete: function() { + } + }); +} + + +function ajax_changer_duree_chambre() +{ + $("#btn_enreg").prop('disabled', true); + + codeActe = $("#codeActe").val(); + prixActe = $("#prixActe").val(); + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un type de chambre !"; + v_msgEng="Please select a category of room !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.focus(); + div_quantite.val(""); + + v_msg="Veuillez saisir la durée !"; + v_msgEng="Please enter duration !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + claculerfinchambre(); + + donnees = 'codeActe='+codeActe+'&quantite='+quantite+'&prixActe='+prixActe; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerdureechambre/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // alert(data); + $("#infosacte").html(data); + }, + complete: function() { + } + }); +} + + +function claculerfinchambre() +{ + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.focus(); + div_quantite.val(""); + + v_msg="Veuillez saisir la durée !"; + v_msgEng="Please enter the duration !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + + var typdate = $("#debut").datepicker("getDate"); + typdate.setDate(typdate.getDate() + quantite -1); + + $( "#fin" ).datepicker( "setDate", typdate ); + + // contrôle du cheveauchement des dates + /* + var td1 = new Date($("#dateFinHospit").val()); + var td2 = $("#debut").datepicker("getDate"); + + alert("td1 : "+td1+" ; td2 : "+td2); + return; + + dt1=Math.round(Date.parse(td1)/(1000*3600*24)); + dt2=Math.round(Date.parse(td2)/(1000*3600*24)); + + if (dt1>dt2) + { + $("#btn_enreg").prop('disabled', true); + $("#debut").focus(); + + v_msg="Veuillez revoir vos dates !"; + v_msgEng="Please review your dates !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + $("#btn_enreg").prop('disabled', false); + */ +} + +function enregistrerchambre() +{ + acteExclu = $("#acteExclu").val(); + autorisation = "0"; + + if(acteExclu==1) + { + autorisation = "2"; + v_msg="Non couvert !"; + v_msgEng="Not covered !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + codeActe = $("#codeActe").val(); + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un type de chambre !"; + v_msgEng="Please select a category of room !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + div_prix = $("#prixActe"); + prixActe = div_prix.val(); + + prixTarif = prixActe; + + if(prixActe==0) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + quantite = parseInt(quantite); + div_quantite.val(quantite); + + if(quantite==0) + { + div_quantite.focus(); + + v_msg="Veuillez saisir la durée !"; + v_msgEng="Please enter the duration !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + // contrôle du cheveauchement des dates + + // mis en commentaire le 31/10/2018 BONA + /* + var td1 = new Date($("#dateFinHospit").val()); + var td2 = $("#debut").datepicker("getDate"); + + dt1=Math.round(Date.parse(td1)/(1000*3600*24)); + dt2=Math.round(Date.parse(td2)/(1000*3600*24)); + + if (dt1>dt2) + { + $("#btn_enreg").prop('disabled', true); + $("#debut").focus(); + + v_msg="Veuillez revoir vos dates !"; + v_msgEng="Please review your dates !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + // $("#btn_enreg").prop('disabled', false); + */ + + numeroChambre = $("#numeroChambre").val(); + if (numeroChambre<=" ") + { + v_msg="Veuillez saisir le N° de chambre !"; + v_msgEng="Please enter room number !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroChambre").focus(); + return; + } + + v_msg="Confirmez-vous cette chambre ?"; + v_msgEng="Do you confirm this room ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + prixActe = $("#prixActe").val(); + valeurActe = $("#valeurActe").val(); + + montantTm = $("#montantTm").val(); + aRembourser = $("#aRembourser").val(); + + debut = $("#debut").val(); + // $("#fin").prop('disabled', false); + fin = $("#fin").val(); + + donnees = 'codeActe='+codeActe+'&quantite='+quantite+'&prixActe='+prixActe+'&valeurActe='+valeurActe; + donnees += '&montantTm='+montantTm+'&aRembourser='+aRembourser+'&debut='+debut+'&fin='+fin +'&numeroChambre='+numeroChambre; + donnees += '&autorisation='+autorisation+'&prixTarif='+prixTarif; + + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val(); + + donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailautorisation'; + + typeSms="autorisation"; + + $("#btn_enreg_chambre").prop('disabled', true); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerchambre/enregistrerchambre/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + + maj_fraisexclu_cso(); + + if(autorisation=="2") + { + preparesms(typeSms); + + v_msg="Demande autorisation envoyée !"; + v_msgEng="Request for authorization sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }, + complete: function() { + if(autorisation=="2") + { + mettremailattente(donnees_sav); + } + + v_msg="Enregistrée avec succès"; + v_msgEng="Saved successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + attribution_chambre(); + } + }); + } +} + +function actesmedicaux() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Actesmedicaux/"); +} + +function optique() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + prescription_optique(); +} + +function pharmacien() +{ + if (prestation_possible()) + { + /* mis en commentaire le 28/11/2017 + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + } + else + { + finger_id = $("#finger_id_C" ).val(); + + if (finger_id==0) + { + v_msg="Veuillez procéder à l\'enrôlement avant !"; + v_msgEng="Please enroll before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + okId=$("#okId" ).val(); + + if (okId!=1) + { + v_msg="Veuillez procéder à l\'identification avant !"; + v_msgEng="Please check identity before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + } + */ + + window.location.assign($("#racineWeb" ).val()+"Pharmacien/"); + } +} + +function dossiers(okId) +{ + codeProfil = $("#codeProfil_C" ).val(); + + if(codeProfil=="PHA") + { + pharmacien(); + return; + } + + if(codeProfil=="OPT") + { + monture = $("#monture").val(); + + + if(monture=="1") + { + window.location.assign($("#racineWeb" ).val()+"Monture/"); + return; + } + + opticien(); + return; + } + + if(codeProfil=="LAB") + { + laboratoire(); + return; + } + + if(codeProfil=="SEA") + { + seancekine(); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + } + + /* + else + { + // finger_id = $("#finger_id_C" ).val(); + finger_id = $("#okId" ).val(); + + if (finger_id==0) + { + v_msg="Veuillez procéder à l\'enrôlement avant !"; + v_msgEng="Please enroll before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + } + */ + + modeSaisieFacture=$("#modeSaisieFacture").val(); + + // alert("modeSaisieFacture : "+modeSaisieFacture); + // return; + + if(modeSaisieFacture=="1") + { + window.location.assign($("#racineWeb" ).val()+"Dossiers/"); + return; + } + + + if (prestation_possible()) + { + if (okId==1) + { + window.location.assign($("#racineWeb" ).val()+"Consultation/"); + return; + } + else + { + okId=$("#okId" ).val(); + } + + if (okId==1) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextidentification/", + type : 'post', + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + complete: function() { + if (prestation_possible()) + { + window.location.assign($("#racineWeb" ).val()+"Dossiers/"); + } + } + }); + } + else + { + window.location.assign($("#racineWeb" ).val()+"Dossiers/"); + } + } +} + +function afficher_beneficiaire_id_okId() +{ + idBeneficiaire=$("#idBeneficiaire_C").val(); + okId=$("#okId").val(); + + if (idBeneficiaire>"") + { + ajax_context_beneficiaire_afficher(idBeneficiaire, okId); + } +} + +function ajax_context_beneficiaire_afficher(idBeneficiaire, okId) +{ + donnees = 'idBeneficiaire='+idBeneficiaire+'&okId='+okId; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextbeneficiaire/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + complete: function() { + window.location.assign($("#racineWeb" ).val()+"Fichebeneficiaire/"+idBeneficiaire); + } + }); +} + +function facturer_cso() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + // verifier depasement + fraisExclu=$("#fraisExclu").val(); + fraisExclu = parseInt(fraisExclu); + + if (fraisExclu>0) + { + v_msg="Attention ! Dépassement de limite, souhaitez-vous continuer?"; + v_msgEng="Warning ! Overflow, Would you like to continue?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (!confirm(v_msg)) + { + return; + } + } + // Fin verification depassement + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + } + else + { + okId=$("#okId" ).val(); + + if (okId!=1) + { + v_msg="Veuillez procéder à l\'identification avant !"; + v_msgEng="Please check identity before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + montantTm = $("#montantTm").val(); + cout = $("#cout").val(); + + donnees = 'prixActe='+prixActe; + donnees += '&montantTm='+montantTm; + donnees += '&cout='+cout; + + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailfacturationfeuillemaladie'; + + typeSms = "facturer_cso"; + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfacturerfeuillemaladie/facturer/", + type: 'POST', + success: function(data) { + // suspension provisoire Vivien 20/03/20118 + // preparesms(typeSms); + }, + error: function(data) { + // alert(data); + }, + complete: function() + { + // suspension provisoire Vivien 20/03/20118 + // mettremailattente_adh(donnees_sav); + + feuillemaladie(); + + v_msg="Facturation effectuée avec succès!"; + v_msgEng="Successful billing!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }); + +} + +function facturer_feuillemaladie() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + numOrd = $("#numOrd").val(); + noPrescription = $("#noPrescription").val(); + + if (numOrd==0 && noPrescription==0) + { + v_msg="Attention, pas de presciption de médicaments!?"; + v_msgEng="Warning, no presciption of drugs!"; + v_msg +="\n"; + v_msg +=v_msgEng; + + alert(v_msg); + prescription_medicament(); + return; + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous la facturation ?"; + v_msgEng="Do you confirm this delivery?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + /* + codepPrestataire = $("#codePrestataire_C").val(); + + if(codepPrestataire=="SP0019") + { + $("#okId" ).val("1"); + facturer_cso(); + return; + } + */ + + /* + codeutilisateur = $("#codeutilisateur").val(); + alert(codeutilisateur); + alert(codeutilisateur.length); + alert(codeutilisateur.substring(0, 4)); + return; + + if(codeutilisateur.substring(0, 4)=="kane") + { + $("#okId" ).val("1"); + facturer_cso(); + return; + } + */ + + modeSaisieFacture=$("#modeSaisieFacture").val(); + if(modeSaisieFacture=="1") + { + $("#okId" ).val("1"); + facturer_cso(); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + facturer_cso(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id = $("#user_id_C").val(); + finger_id = $("#finger_id_C").val(); + + $("#facturation").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&facturation=1"; + + load("flexcode/user.php?"+data); + } + } +} + +function facturer_pha() +{ + idPrestationactes=$("#idPrestationactes").val(); + idPrestationactes = parseInt(idPrestationactes); + + /* mis en commentaire le 31/07/2018 => permettre la multi-facturation + if (idPrestationactes>0) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + */ + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + // if (idPrestationactes==0 && nbLivre<1) + if (nbLivre<1) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + montantTm = $("#montantTm").val(); + cout = $("#cout").val(); + + donnees = 'prixActe='+prixActe; + donnees += '&montantTm='+montantTm; + donnees += '&cout='+cout; + + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + codePrestataire = $("#codePrestataire_C").val(); + + donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=mailpharmacie'; + + typeSms = "facturer_pha"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailpharmacien/enregistrerpharmacie/", + type: 'POST', + success: function(data) { + // suspension provisoire Vivien 20/03/20118 + // preparesms(typeSms); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + // suspension provisoire Vivien 20/03/20118 + // mettremailattente_adh(donnees_sav); + + window.location.assign($("#racineWeb" ).val()+"Pharmacien/"); + + v_msg="Facturation effectuée avec succès!"; + v_msgEng="Successful billing!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }); +} + +function valider_pharmacie_pha() +{ + estRempalace=$("#estRempalace").val(); + + if (estRempalace=="1") + { + v_msg="Remplacée !"; + v_msgEng="Replaced !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + numeroPrescription=$("#numeroPrescription_C").val(); + + if (numeroPrescription<="0") + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + idPrestationactes=$("#idPrestationactes").val(); + idPrestationactes = parseInt(idPrestationactes); + + /* mis en commentaire le 31/07/2018 => permettre la multi-facturation + if (idPrestationactes>0) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + */ + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + // if (idPrestationactes==0 && nbLivre<1) + if (nbLivre<1) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cette livraison ?"; + v_msgEng="Do you confirm this delivery?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + // 07/01/2018 => Mis en commentaire parce pas besoin de fingerprint en pharamacie + /* + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + facturer_pha(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id =$("#user_id_C").val(); + finger_id =$("#finger_id_C").val(); + + $("#facturation").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&facturation=1"; + + load("flexcode/user.php?"+data); + } + */ + facturer_pha(); + } +} + +function valider_optique() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + /* + nbVerres=$("#nbVerres").val(); + nbVerres = parseInt(nbVerres); + + if (nbVerres<1) + { + v_msg="Rien à valider!"; + v_msgEng="Nothing to save!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + */ + + v_msg="Confirmez-vous cette ordonnance ?"; + v_msgEng="Do you confirm this prescription ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistreroptique/videroptiquetemp/", + type : 'post', + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + feuillemaladie(); + }, + complete: function() { + } + }); + } +} + +function separateur_millier(montant) +{ + montant = parseInt(montant); + montant.toLocaleString(); + return montant.toLocaleString(); +} + +function ajaxinfosbonoptique() +{ + numeroBonOptique = $("#numeroBonOptique").val(); + numeroBonOptique = parseInt(numeroBonOptique); + if (numeroBonOptique>0) + { + v_msg="Déjà effectué !"; + v_msgEng="Already done !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + codeMedecin = $("#codeMedecin").val(); + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").val(""); + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonoptique/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + + +function supprimer_optique(idOptique) +{ + v_msg="Confirmez-vous la suppression de ce verre ?"; + v_msgEng="Do you confirm the removal of this glass?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + donnees = 'idOptique='+idOptique; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerverre/supprimerverre/", + type: 'POST', + data: donnees, + success: function(data) { + $("#medicaments").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + prescription_optique(); + } + }); + } +} + + +function enregistreroptique() +{ + numeroBonSave = $("#numeroBonSave").val(); + + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number of prescription ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + donnees = 'numeroBon='+numeroBon+'&codeMedecin='+codeMedecin; + + $("#btn_enreg").prop('disabled', true); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistreroptique/enregistreroptique/", + type : 'post', + data: donnees, + error: function(errorData) { + $("#msgErreur").html(errorData); + // alert("Erreur : "+errorData); + }, + success: function(data) { + // $("#msgErreur").html(data); + }, + complete: function() { + v_msg="Prescription enregistrée avec succès"; + v_msgEng="Saved successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + prescription_optique(); + } + }); + } +} + +function enregistrerverre() +{ + codeOptique = $("#codeOptique").val(); + if (codeOptique<=" ") + { + v_msg="Veuillez sélectionner un verre !"; + v_msgEng="Please select a glass !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeOptique").focus(); + return; + } + + v_msg="Confirmez-vous ces verres ?"; + v_msgEng="Do you confirm these glasses ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + + donnees = 'codeOptique='+codeOptique; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerverre/enregistrerverre/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + prescription_optique(); + }, + complete: function() { + } + }); + } +} + + +function valider_chambre() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cette hospitalisation ?"; + v_msgEng="Do you confirm this hospitalization ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + feuillemaladie(); + } +} + + +function valider_opticien() +{ + numeroOptique=$("#numeroOptique_C").val(); + + if (numeroOptique<="0") + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + + idPrestationactes=$("#idPrestationactes").val(); + idPrestationactes = parseInt(idPrestationactes); + + if (idPrestationactes>0) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + if (idPrestationactes==0 && nbLivre<1) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cette livraison ?"; + v_msgEng="Do you confirm this delivery?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + // 07/01/2018 => Mis en commentaire parce pas besoin de fingerprint en magasin optique + /* + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + facturer_opt(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id =$("#user_id_C").val(); + finger_id =$("#finger_id_C").val(); + + $("#facturation").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&facturation=1"; + + load("flexcode/user.php?"+data); + } + */ + facturer_opt(); + } +} + +function opticien() +{ + if (prestation_possible()) + { + /* mis en commentaire le 28/11/2017 + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + } + else + { + finger_id = $("#finger_id_C" ).val(); + + if (finger_id==0) + { + v_msg="Veuillez procéder à l\'enrôlement avant !"; + v_msgEng="Please enroll before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + okId=$("#okId" ).val(); + + if (okId!=1) + { + v_msg="Veuillez procéder à l\'identification avant !"; + v_msgEng="Please check identity before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + } + */ + + window.location.assign($("#racineWeb" ).val()+"Opticien/"); + } +} + +function verifiertentativeidentitification(user_id) +{ + donnees = 'user_id='+user_id; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenvoimaildivers/verifiertentativeidentitification/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_err").html(data); + }, + complete: function() { + } + }); +} + +function envoyer_alert_tentative_fraude(user_id) +{ + donnees = 'user_id='+user_id; + + idBeneficiaire = $("#idBeneficiaire_C").val(); + prestataire = $("#prestataire_C").val(); + + donnees_sav = donnees+'&prestataire='+prestataire+'&idBeneficiaire='+idBeneficiaire+'&typeMail=mailfraudeidentite'; + + mettremailattente(donnees_sav); +} + + +function ajouterverre_opt_tous() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailopticien/ajouterverretous/", + type: 'POST', + success: function(data) { + $("#livraison").html(data); + // alert(data); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + alerter_depassement_limite(); + } + }); +} + + +function ajouterverre_opt(idOptique) +{ + donnees = 'idOptique='+idOptique; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailopticien/ajouterverre/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + } + }); +} + +function retirerverre_opt_tous() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailopticien/retirerverretous/", + type: 'POST', + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function retirerverre_opt(idOptique) +{ + donnees = 'idOptique='+idOptique; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailopticien/retirerverre/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + + +function facturer_opt() +{ + idPrestationactes=$("#idPrestationactes").val(); + idPrestationactes = parseInt(idPrestationactes); + + if (idPrestationactes>0) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + if (idPrestationactes==0 && nbLivre<1) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + montantTm = $("#montantTm").val(); + cout = $("#cout").val(); + + donnees = 'prixActe='+prixActe; + donnees += '&montantTm='+montantTm; + donnees += '&cout='+cout; + + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + codePrestataire = $("#codePrestataire_C").val(); + + donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=mailoptique'; + + typeSms = "facturer_opt"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailopticien/enregistreroptique/", + type: 'POST', + success: function(data) { + // suspension provisoire Vivien 20/03/20118 + // preparesms(typeSms); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + // suspension provisoire Vivien 20/03/20118 + // mettremailattente_adh(donnees_sav); + + window.location.assign($("#racineWeb" ).val()+"Opticien/"); + + v_msg="Facturation effectuée avec succès!"; + v_msgEng="Successful billing!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }); + +} + +function maj_monture_temp(idOptique, monture) +{ + donnees = 'idOptique='+idOptique+"&monture="+monture; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailopticien/majmonture/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + } + }); +} + +function supprimer_espace_nombre(nombre) +{ + nombre = nombre.replace(" ", ""); + + if(isNaN(nombre)) + { + alert(nombre+" n'est pas un nombre!"); + return '0'; + } + nombre = parseInt(nombre); + return nombre; +} + +function demander_derogation() +{ + /* + if (prestation_possible()) + { + window.location.assign($("#racineWeb" ).val()+"Demandederogation/"); + } + */ + window.location.assign($("#racineWeb" ).val()+"Demandederogation/"); +} + +function enregistrerdemandederogation() +{ + codeDerogation = $("#codeDerogation").val(); + + lst_libelleDerogation = document.getElementById("codeDerogation"); + libelleDerogation = lst_libelleDerogation.options[lst_libelleDerogation.selectedIndex].text.trim(); + + college_couvert=$("#college_couvert_C").val(); + if (college_couvert=="1" && codeDerogation=="01") + { + v_msg="Attention! Cette personne a déjà accès à ce centre"; + v_msgEng="Warning! This person all ready have access to this center"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + if (codeDerogation<=" ") + { + v_msg="Veuillez sélectionner une dérogation !"; + v_msgEng="Please select an exemption!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeDerogation").focus(); + return; + } + + observations = $("#observations").val(); + if (observations<=" ") + { + v_msg="Veuillez saisir la motivation !"; + v_msgEng="Please select the motivation !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#observations").focus(); + return; + } + + v_msg="Confirmez-vous cette demande de dérogation ?"; + v_msgEng="Do you confirm this request ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + donnees = 'codeDerogation='+codeDerogation+'&observations='+observations+'&libelleDerogation='+libelleDerogation; + + idBeneficiaire = $("#idBeneficiaire_C").val(); + prestataire = $("#prestataire_C").val(); + + + donnees_sav = donnees+'&prestataire='+prestataire+'&idBeneficiaire='+idBeneficiaire+'&typeMail=maildemandederogation'; + + typeSms = "demandederogation"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerdemandederogation/enregistrerdemandederogation/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // preparewhatsapp(typeSms); + preparesms(typeSms); + mettremailattente(donnees_sav); + // liste_derogation(); + }, + complete: function() { + // mettremailattente(donnees_sav); + + v_msg="Demande envoyée avec succès !"; + v_msgEng="Request sent successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + liste_derogation(); + } + }); + } +} + +function liste_derogation() +{ + window.location.assign($("#racineWeb" ).val()+"Listederogations/"); +} + +function listerderogation() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_derogations").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxderogation/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_derogations").html(data); + }, + complete: function() { + } + }); +} + +function afficher_div_wait() +{ + // $("#div_page_complet").prop('disabled', true); + // $("#div_wait").html('
' + '' + '
'); +} + +function effacer_div_wait() +{ + $("#div_wait").html(""); +} + +function consultationpha() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationpha/"); +} + +function consultationlab() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationlab/"); +} + +function consultationopt() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationopt/"); +} + +function consultationcso() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationcso/"); +} + +function consultationbenpha() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationbenpha/"); +} + +function consultationbenopt() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationbenopt/"); +} + +function consultationbencso() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationbencso/"); +} + +function listerdossiercons_ben() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationbencso/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function listerdossiercons() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + donnees_sav = donnees; + + $("#reglement").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationcsoentete/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#reglement").html(data); + }, + complete: function() { + } + }); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationcso/", + type : 'post', + data: donnees_sav, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#detail_reglement").html(data); + $("#detail_reglement").css("padding-top", "0px"); + }, + complete: function() { + } + }); +} + +function afficher_feuille_maladie_cons() +{ + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C" ).val(); + + if (numeroFeuilleMaladie>"") + { + ajax_context_feuille_maladie_afficher_cons(numeroFeuilleMaladie); + } +} + +function ajax_context_feuille_maladie_afficher_cons(numeroFeuilleMaladie) +{ + donnees = 'numeroFeuilleMaladie='+numeroFeuilleMaladie; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfeuillemaladie/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + complete: function() { + consulter_feuillemaladie(); + } + }); +} + +function afficher_feuille_maladie_cons_ben() +{ + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C" ).val(); + + if (numeroFeuilleMaladie>"") + { + ajax_context_feuille_maladie_afficher_cons_ben(numeroFeuilleMaladie); + } +} + +function ajax_context_feuille_maladie_afficher_cons_ben(numeroFeuilleMaladie) +{ + donnees = 'numeroFeuilleMaladie='+numeroFeuilleMaladie; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfeuillemaladie/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + complete: function() { + consulter_feuillemaladie_ben(); + } + }); +} + +function consulter_prescription_ben() +{ + window.location.assign($("#racineWeb" ).val()+"Prescriptionconsben/"); +} + +function consulter_chambre_ben() +{ + window.location.assign($("#racineWeb" ).val()+"Chambreconsben/"); +} + +function consulter_optique_ben() +{ + window.location.assign($("#racineWeb" ).val()+"Optiqueconsben/"); +} + +function consulter_feuillemaladie_ben() +{ + window.location.assign($("#racineWeb" ).val()+"Feuillemaladieconsben/"); +} + +function consulter_prescription() +{ + window.location.assign($("#racineWeb" ).val()+"Prescriptioncons/"); +} + +function consulter_chambre() +{ + window.location.assign($("#racineWeb" ).val()+"Chambrecons/"); +} + +function consulter_optique() +{ + window.location.assign($("#racineWeb" ).val()+"Optiquecons/"); +} + +function consulter_feuillemaladie() +{ + window.location.assign($("#racineWeb" ).val()+"Feuillemaladiecons/"); +} + +// + +function prescription_medicament() +{ + window.location.assign($("#racineWeb" ).val()+"Prescription/"); +} + +function livraison_pharmacie() +{ + numeroBonOrdonnance=$("#numeroBonOrdonnance_C").val(); + + if (numeroBonOrdonnance==0) + { + v_msg="Aucune prescription !"; + v_msgEng="No prescription !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Pharmacie/"); +} + +function prescription_optique() +{ + window.location.assign($("#racineWeb" ).val()+"Optique/"); +} + +function attribution_chambre() +{ + window.location.assign($("#racineWeb" ).val()+"Chambre/"); +} + +function feuillemaladie() +{ + window.location.assign($("#racineWeb" ).val()+"Feuillemaladie/"); +} + +function feuillemaladie_ajax() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfeuillemaladie/", + type: 'POST', + success: function(data) { + $("#div_feuillemaladie").html(data); + }, + error: function(data) { + }, + complete: function() { + alerter_depassement_limite_cso(); + } + }); +} + +function recherche() +{ + window.location.assign($("#racineWeb" ).val()+"Recherche/"); +} + +function requetes() +{ + codeProfil = $("#codeProfil_C" ).val(); + + if(codeProfil=="PHA") + { + consultationpha(); + return; + } + + if(codeProfil=="OPT") + { + consultationopt(); + return; + } + + if(codeProfil=="CSO") + { + consultationcso(); + return; + } + + if(codeProfil=="LAB") + { + consultationlab(); + return; + } + + if(codeProfil=="SEA") + { + consultationsea(); + return; + } +} + +// + +function lister_factures_pha_ben() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationbenpha/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function lister_factures_opt_ben() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationbenopt/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function afficher_facture_cons_pha_ben(idFacture, numeroBonOrdonnance, codePrestataireLivraison) +{ + if (idFacture>"") + { + donnees = 'idFacture='+idFacture+'&numeroBonOrdonnance='+numeroBonOrdonnance+'&codePrestataireLivraison='+codePrestataireLivraison; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfacturepha/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + consulter_facture_pha_ben(); + } + }); + } +} + +function afficher_facture_cons_pha(idFacture, numeroBonOrdonnance, codePrestataireLivraison) +{ + if (idFacture>"") + { + donnees = 'idFacture='+idFacture+'&numeroBonOrdonnance='+numeroBonOrdonnance+'&codePrestataireLivraison='+codePrestataireLivraison; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfacturepha/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + consulter_facture_pha(); + } + }); + } +} + +function consulter_facture_pha_ben() +{ + window.location.assign($("#racineWeb" ).val()+"Pharmacienconsben/"); +} + +function consulter_facture_pha() +{ + window.location.assign($("#racineWeb" ).val()+"Pharmaciencons/"); +} + +function afficher_facture_cons_opt_ben(idFacture, numeroBonOptique, numeroOptique, codePrestataireLivraison) +{ + if (idFacture>"") + { + donnees = 'idFacture='+idFacture+'&numeroBonOptique='+numeroBonOptique+'&numeroOptique='+numeroOptique; + donnees += '&codePrestataireLivraison='+codePrestataireLivraison; + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfactureopt/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + consulter_facture_opt_ben(); + } + }); + } +} + +function consulter_facture_opt_ben() +{ + window.location.assign($("#racineWeb" ).val()+"Opticienconsben/"); +} + +function consultations() +{ + window.location.assign($("#racineWeb" ).val()+"Consultations/"); +} + + +function listerdossiercons_pha() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + donnees_sav = donnees; + + $("#detail_reglement").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationphaentete/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#reglement").html(data); + }, + complete: function() { + } + }); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationpha/", + type : 'post', + data: donnees_sav, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#detail_reglement").html(data); + $("#detail_reglement").css("padding-top", "0px"); + }, + complete: function() { + } + }); +} + +function listerdossiercons_opt() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + donnees_sav = donnees; + + $("#detail_reglement").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationoptentete/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#reglement").html(data); + }, + complete: function() { + } + }); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationopt/", + type : 'post', + data: donnees_sav, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#detail_reglement").html(data); + $("#detail_reglement").css("padding-top", "0px"); + }, + complete: function() { + } + }); +} + +function afficher_facture_cons_opt(idFacture, numeroBonOptique, numeroOptique, codePrestataireLivraison) +{ + if (idFacture>"") + { + donnees = 'idFacture='+idFacture+'&numeroBonOptique='+numeroBonOptique+'&numeroOptique='+numeroOptique; + donnees += '&codePrestataireLivraison='+codePrestataireLivraison; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfactureopt/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + consulter_facture_opt(); + } + }); + } +} + +function consulter_facture_opt() +{ + window.location.assign($("#racineWeb" ).val()+"Opticiencons/"); +} + +function liste_decompte() +{ + window.location.assign($("#racineWeb" ).val()+"Listedecomptes/"); +} + +function listerdecomptes() +{ + codeExercice = $("#codeExercice").val(); + // codeMois = $("#codeMois").val(); + codeEtatDecompte = $("#codeEtatDecompte").val(); + + if (codeExercice<=" ") + { + v_msg="Veuillez sélectionner un exercice !!"; + v_msgEng="Please select an exercise !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeExercice").focus(); + return; + } + + /* + if (codeMois<=" ") + { + v_msg="Veuillez sélectionner un exercice !!"; + v_msgEng="Please select a month !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeMois").focus(); + return; + } + */ + + // donnees = 'codeExercice='+codeExercice+'&codeMois='+codeMois+'&codeEtatDecompte='+codeEtatDecompte; + donnees = 'codeExercice='+codeExercice+'&codeEtatDecompte='+codeEtatDecompte; + + $("#div_detail").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistedecomptes/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_detail").html(data); + }, + complete: function() { + } + }); +} + +function consulterdecompte(idReglement) +{ + donnees = 'idReglement='+idReglement; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdecompte/initierdecompte/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + }, + complete: function() { + afficher_decompte(); + } + }); +} + +function afficher_decompte() +{ + // $("#detail_demande_decompte").html('
' + '' + '
'); + + window.location.assign($("#racineWeb" ).val()+"Decomptecons/"); +} + + +function sortirdexclusionstandards() +{ + idBeneficiaire = $("#idBeneficiaire_C").val(); + idAdherent_C = $("#idAdherent_C" ).val(); + + + // alert("idBeneficiaire = "+idBeneficiaire); + if (idBeneficiaire>"0") + { + afficher_beneficiaire_id(); + } + if (idAdherent_C>"0") + { + afficher_adherent_id(); + } + else + { + recherche(); + } +} + +function exclusionstandards() +{ + window.location.assign($("#racineWeb" ).val()+"Exclusionstandards/"); +} + + +function envoimaildivers(datamail) +{ + // var url_mail = "http://testprestation.medicare.rw/Cron/Ajaxenvoimaildivers.php?"+datamail; + + lienMail = $("#lienMail_C").val(); + var url_mail = lienMail+"/Cron/Ajaxenvoimaildivers.php?"+datamail; + + $.ajax({ + url : url_mail, + type : "GET", + error : function(errorData) { + // alert("Erreur : "+errorData); + }, + success :function(data) + { + // alert("mail envoyée avec succès"); + } + }); +} + +function mettremailattente(datamail) +{ + // alert("datamail : "+datamail); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmailattente/ajouter/", + type: 'POST', + data: datamail, + success: function(data) { + }, + error: function(data) { + }, + complete: function() { + } + }); +} + +function mettremailattente_adh(datamail) +{ + // suspension provisoire Vivien 20/03/20118 + + return; + + /* + emailAdherent = $("#emailAdherent_C").val(); + + if(emailAdherent.length>4) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmailattente/ajouter/", + type: 'POST', + data: datamail, + success: function(data) { + }, + error: function(data) { + }, + complete: function() { + } + }); + } + */ +} + +function preparesms(typeSms) +{ + p_destinataires = ""; + p_message = ""; + + if (typeSms=="demandederogation") + { + p_destinataires = $("#smsDerogation_C").val(); + + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + prestataire = $("#prestataire_C").val(); + + //p_message = prestataire; + p_message = prestataire+" "; + + p_message += "\n"; + p_message += "Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message += "\n"; + p_message += "Demande derogation pour : "+libelleDerogation; + } + // Fin SMS demande dérogation + + // ententeprealable + if (typeSms=="ententeprealable") + { + p_destinataires = $("#smsAccordPrealable_C").val(); + + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + prestataire = $("#prestataire_C").val(); + + // p_message = prestataire; + p_message = prestataire+" "; + p_message += "\n"; + p_message += "Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message += "\n"; + p_message += "Alerte : Accord prealable"; + } + // Fin ententeprealable + + // hospitalisation + if (typeSms=="hospitalisation") + { + p_destinataires = $("#smsMedecinConseil_C").val(); + + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + prestataire = $("#prestataire_C").val(); + + + p_message = prestataire+" "; + p_message += "\n"; + p_message += "Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message += "\n"; + p_message += "No Bon Hospit. : "+numeroBon+" "; + p_message += "\n"; + p_message += "Avis Hospitalisation"; + } + // Fin ententeprealable + + // facturer_cso + if (typeSms=="facturer_cso") + { + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + numeroBonConsultation = $("#numeroBonConsultation_C").val(); + + p_destinataires = $("#telephonePortableAdherent_C").val(); + + p_message = $("#prestataire_C").val()+" "; + p_message +="Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message +="Bon consultation No : "+numeroBonConsultation+" "; + p_message +="Consommation : "+cout+" FRW "; + p_message +="TM : "+montantTm+" FRW"; + } + // Fin facturer_cso + + // facturer_pha + if (typeSms=="facturer_pha") + { + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + numeroBonOrdonnance = $("#numeroBonOrdonnance_C").val(); + + p_destinataires = $("#telephonePortableAdherent_C").val(); + + p_message = $("#prestataire_C").val()+" "; + p_message +="Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message +="Ordonnance No : "+numeroBonOrdonnance+" "; + p_message +="Consommation : "+cout+" FRW "; + p_message +="TM : "+montantTm+" FRW"; + } + // Fin facturer_pha + + + // facturer_lab + if (typeSms=="facturer_lab") + { + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + numeroBonExamen = $("#numeroBonExamen_C").val(); + + p_destinataires = $("#telephonePortableAdherent_C").val(); + + p_message = $("#prestataire_C").val()+" "; + p_message +="Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message +="Ordonnance No : "+numeroBonExamen+" "; + p_message +="Consommation : "+cout+" FRW "; + p_message +="TM : "+montantTm+" FRW"; + } + // Fin facturer_pha + + // facturer_opt + if (typeSms=="facturer_opt") + { + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + numeroBonOptique = $("#numeroBonOptique_C").val(); + + p_destinataires = $("#telephonePortableAdherent_C").val(); + + p_message = $("#prestataire_C").val()+" "; + p_message +="Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message +="Ordonnance No : "+numeroBonOptique+" "; + p_message +="Consommation : "+cout+" FRW "; + p_message +="TM : "+montantTm+" FRW"; + } + // Fin facturer_opt + + // autorisation + if (typeSms=="autorisation") + { + p_destinataires = $("#smsAccordPrealable_C").val(); + + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + prestataire = $("#prestataire_C").val(); + + // p_message = prestataire; + p_message = prestataire+" "; + p_message += "\n"; + p_message += "Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message += "\n"; + p_message += "Alerte : Demande Autorisation Acte Exclu"; + } + // Fin autorisation + + // facturer_sea + if (typeSms=="facturer_sea") + { + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + numeroBonKine = $("#numeroBonKine_C").val(); + + p_destinataires = $("#telephonePortableAdherent_C").val(); + + p_message = $("#prestataire_C").val()+" "; + p_message +="Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message +="Ordonnance No : "+numeroBonKine+" "; + p_message +="Consommation : "+cout+" FRW "; + p_message +="TM : "+montantTm+" FRW"; + } + + // 07/01/2018 + + // commandebon + if (typeSms=="commandebon") + { + p_destinataires = $("#smsGestionBon_C").val(); + + prestataire = $("#prestataire_C").val(); + + p_message = prestataire+" "; + p_message += "\n"; + p_message += "Commande de bons de PEC " ; + p_message += "\n"; + p_message += "Quantite : "+quantite+" "; + p_message += "\n"; + p_message += "Type : "+libelleBon+"."; + } + // Fin commandebon + + // ententeprealablepha + if (typeSms=="ententeprealablepha") + { + p_destinataires = $("#smsAccordPrealable_C").val(); + + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + prestataire = $("#prestataire_C").val(); + + // p_message = prestataire; + p_message = prestataire+" "; + p_message += "\n"; + p_message += "Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message += "\n"; + p_message += "Alerte : Accord prealable pharamacie"; + } + // Fin ententeprealable + + if (typeSms=="accident") + { + p_destinataires = $("#smsAccordPrealable_C").val(); + + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + prestataire = $("#prestataire_C").val(); + + // p_message = prestataire; + p_message = prestataire+" "; + p_message += "\n"; + p_message += "Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message += "\n"; + p_message += "Alerte : Accident de la circulation"; + } + // Fin accident + + // ententeprealableopt + if (typeSms=="ententeprealableopt") + { + p_destinataires = $("#smsAccordPrealable_C").val(); + + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + prestataire = $("#prestataire_C").val(); + + // p_message = prestataire; + p_message = prestataire+" "; + p_message += "\n"; + p_message += "Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message += "\n"; + p_message += "Alerte : Accord prealable verres"; + } + // Fin ententeprealable + + // ententeprealablemont + if (typeSms=="ententeprealablemont") + { + p_destinataires = $("#smsAccordPrealable_C").val(); + + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + prestataire = $("#prestataire_C").val(); + + // p_message = prestataire; + p_message = prestataire+" "; + p_message += "\n"; + p_message += "Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message += "\n"; + p_message += "Alerte : Accord prealable monture"; + } + // Fin ententeprealablemont + + // alert("p_destinataires : "+p_destinataires); + // alert("p_message : "+p_message); + + envoyersms(p_destinataires, p_message); // KANEZA + // envoyersms_hooza(p_destinataires, p_message); // HOOZA +} + +// envoyersms_kaneza +function envoyersms(p_destinataires, p_message) +{ + // alert("envoyersms_kaneza"); + + envoyer_messagerie(p_message, "0"); + + // p_destinataires = "250780440758"; + + v_msg="Envoi SMS... !"; + v_msgEng="Sending SMS... !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + // alert("p_destinataires "+p_destinataires); + + if(p_destinataires.length>4) + { + var addr = p_destinataires.split(","); + + // alert("addr "+addr); + // console.log(addr); + // return; + + addr.forEach(function(element) + { + p_dest = element; + + donnees = "destinataires="+p_dest+"&message="+p_message; + + // alert(donnees); + // console.log(donnees); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenvoisms/envoyersms/", + type: 'POST', + crossDomain: true, + xhrFields: { + withCredentials: true + }, + data: donnees + }); + }); + } +} + +// envoyersms_hooza +function envoyersms_hooza(p_destinataires, p_message) +{ + alert("envoyersms_hooza"); + + envoyer_messagerie(p_message, "0"); + + v_msg="Envoi SMS... !"; + v_msgEng="Sending SMS... !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + // alert("p_destinataires "+p_destinataires); + + if(p_destinataires.length>4) + { + donnees = "destinataires="+p_destinataires+"&message="+p_message; + + // alert(donnees); + + /* + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenvoismshooza/envoyersms/", + type: 'POST', + crossDomain: true, + xhrFields: { + withCredentials: true + }, + data: donnees + }); + */ + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenvoismshooza/envoyersms/", + type: 'POST', + crossDomain: true, + xhrFields: { + withCredentials: true + }, + data: donnees, + success: function(data) { + alert("success "+data); + console.log(data); + }, + error: function(data2) { + alert("erreur : "+data2); + console.log(data2); + }, + complete: function() { + } + }); + + } +} + +function liste_ententeprealable() +{ + window.location.assign($("#racineWeb" ).val()+"Listeententeprealables/"); +} + +function liste_exclusions() +{ + window.location.assign($("#racineWeb" ).val()+"Listeexclusions/"); +} + +function alerter_depassement_limite() +{ + fraisExcluLivre=$("#fraisExcluLivre").val(); + fraisExcluLivre = parseInt(fraisExcluLivre); + + if (fraisExcluLivre>0) + { + v_msg="Attention ! Dépassement de limite"; + v_msgEng="Warning ! Overflow"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } +} + +function alerter_depassement_limite_cso() +{ + fraisExclu=$("#fraisExclu").val(); + fraisExclu = parseInt(fraisExclu); + + if (fraisExclu>0) + { + v_msg="Attention ! Dépassement de limite"; + v_msgEng="Warning ! Overflow"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } +} + +function maj_fraisexclu_cso() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdepassementlimitefeuillemaladie/", + error: function(errorData) { + }, + success: function(data) { + $("#div_fraisExclu").html(data); + }, + complete: function() { + alerter_depassement_limite_cso(); + } + }); +} + +function consommables() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + ajoutConsommable = $("#ajoutConsommable").val(); + + if (ajoutConsommable!="1") + { + v_msg="Déjà inclu dans les actes ! Souhaitez-vous continuer ?"; + v_msgEng="Already included in the acts ! Would you like to continue ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + window.location.assign($("#racineWeb" ).val()+"Consommables/"); + return; + } + else + { + return; + } + } + window.location.assign($("#racineWeb" ).val()+"Consommables/"); +} + + +function afficher_recherche_consommable() +{ + nomConsommable = $("#nomConsommable").val(); + + if (nomConsommable > " ") + { + donnees = "nomConsommable="+nomConsommable; + + $("#div_listeconsommable").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteconsommables/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_listeconsommable").html(data); + } + }); + } +} + +function ajouter_consommable(idConsommable, libelleConsommable) +{ + if (libelleConsommable<=" ") + { + v_msg="Veuillez sélectionner un consommable !"; + v_msgEng="Please select a consumable !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + v_msg="Ajouter : "+libelleConsommable+" ?"; + v_msgEng="Add : "+libelleConsommable+" ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + donnees = 'idConsommable='+idConsommable; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteconsommables/ajouterconsommable/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + maj_fraisexclu_cso(); + }, + complete: function() { + // afficher_consommable(); + feuillemaladie(); + } + }); + } +} + +function ajax_maj_qte_consommable(idConsommable, quantite, controle) +{ + quantite=quantite.replace(",","."); + controle.value=quantite; + + if(controle_numerique(controle)) + { + if(quantite==0) + { + controle.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idConsommable='+idConsommable+"&quantite="+quantite; + + // alert("ajax_maj_qte_consommable : "+donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteconsommables/majquantite/", + type: 'POST', + data: donnees, + success: function(data) { + // $('#div_test_gabarit').html(data); + }, + error: function(data) { + }, + complete: function() { + afficher_consommable(); + } + }); + } +} + +function ctrlkeypressconsommable(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_recherche_consommable(); + } +} + +function afficher_consommable() +{ + $("#div_listeconsommable").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxafficherconsommables/", + error: function(errorData) { + }, + success: function(data) { + $("#div_listeconsommable").html(data); + $("#libelleconsommable").focus(); + } + }); +} + +function changer_type_bon() +{ + $("#nbligne_info").val("0"); +} + +function afficher_pop_recherche_medecin() +{ + + noOrdreMedecin = $("#noOrdreMedecin").val(); + nomsearch = $("#nomsearch").val(); + + if(noOrdreMedecin+nomsearch<=" ") + return; + + donnees = "valid=1&noOrdreMedecin="+noOrdreMedecin+"&nomsearch="+nomsearch; + + $("#div_listemedecins").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistemedecins/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_listemedecins").html(data); + } + }); +} + + +function afficher_pop_recherche_actes_cons() +{ + libelleActeSearch = $("#libelleActeSearch").val(); + + if(libelleActeSearch<=" ") + { + return; + } + + donnees = "valid=1&libelleActeSearch="+libelleActeSearch; + + $("#div_liste_actes_cons").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteactescons/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_liste_actes_cons").html(data); + } + }); +} + + +function afficher_pop_recherche_actes_possibles() +{ + libelleActeSearch = $("#libelleActeSearch").val(); + + if(libelleActeSearch<=" ") + { + return; + } + + donnees = "valid=1&libelleActeSearch="+libelleActeSearch; + + $("#div_liste_actes_possibles").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteactespossibles/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_liste_actes_possibles").html(data); + } + }); +} + + +function ctrlkeypress_medecin(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_medecin(); + } +} + + +function ctrlkeypress_actes_cons(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_actes_cons(); + } +} + + +function ctrlkeypress_actes_possibles(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_actes_possibles(); + } +} + + +function selectionner_medecin(codeMedecin, nomMedecin, noOrdreMedecin) +{ + if(noOrdreMedecin+codeMedecin<=" ") + return; + +v_msg="Confirmez-vous ce Médecin : "+nomMedecin+" ?"; + v_msgEng="Do you confirm this Doctor : "+nomMedecin+" ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + $("#codeMedecin").val(codeMedecin); + $("#nomMedecin").html(nomMedecin+" ( "+noOrdreMedecin+" )"); + + $("#close_pop").click(); + } +} + +function maj_prix_actemedical() +{ + prixTarif = $("#prixTarif").val(); + prixNew = $("#prixNew").val(); + + if(prixNew==0 || parseFloat(prixNew)>parseFloat(prixTarif)) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#prixNew").focus(); + + return; + } + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#quantite").focus(); + + return; + } + + ententePrealable = $("#ententePrealable").val(); + acteExclu = $("#acteExclu").val(); + acteChirurgie = $("#acteChirurgie").val(); + + donnees = 'prixNew='+prixNew+'&quantite='+quantite+'&prixTarif='+prixTarif; + donnees += '&ententePrealable='+ententePrealable+'&acteExclu='+acteExclu+'&acteChirurgie='+acteChirurgie; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmajprixactemed/", + type : 'post', + data : donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // alert(data); + $("#infosacte").html(data); + }, + complete: function() { + $("#btn_close_pop_tarif").click(); + } + }); +} + +function afficher_pop_tarif() +{ + prixActe = $("#prixActe").val(); + $("#prixNew").val(prixActe); + $("#btn_pop_tarif").click(); +} + +function demanderaccordacteexclu() +{ + v_msg="Acte non couvert !"; + v_msgEng="Not covered !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + +/* + acteExclu = $("#acteExclu").val(); + + autorisation = "2"; + + donnees="" + donnees_sav=""; + + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#nomMedecin").focus(); + return; + } + + codeActe = $("#codeActe").val(); + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + div_prix = $("#prixActe"); + prixActe = div_prix.val(); + + prixTarif = $("#prixTarif").val(); + + if(prixActe==0 || parseFloat(prixActe)>parseFloat(prixTarif)) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + quantite = parseInt(quantite); + div_quantite.val(quantite); + + if(quantite==0) + { + div_quantite.focus(); + + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please neter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Attention! Acte exclu. Demander un accord ?"; + v_msgEng="Warning! Non covered Act. Request Agreement ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + prixActe = $("#prixActe").val(); + valeurActe = $("#valeurActe").val(); + + montantTm = $("#montantTm").val(); + aRembourser = $("#aRembourser").val(); + + ententePrealable = "0"; + + donnees = 'codeActe='+codeActe+'&codeMedecin='+codeMedecin+'&quantite='+quantite+'&ententePrealable='+ententePrealable; + donnees += '&prixActe='+prixActe+'&valeurActe='+valeurActe+'&montantTm='+montantTm+'&aRembourser='+aRembourser; + donnees += '&autorisation='+autorisation+'&prixTarif='+prixTarif; + + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val(); + + donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailautorisation'; + + typeSms="autorisation"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistreractemedical/enregistreractemedical/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + maj_fraisexclu_cso(); + + preparesms(typeSms); + + v_msg="Demande autorisation envoyée !"; + v_msgEng="Request for authorization sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + }, + complete: function() { + mettremailattente(donnees_sav); + + feuillemaladie(); + } + }); + } +*/ +} + +function afficher_pop_recherche_actes_cons() +{ + libelleActeSearch = $("#libelleActeSearch").val(); + + if(libelleActeSearch<=" ") + { + return; + } + + donnees = "valid=1&libelleActeSearch="+libelleActeSearch; + + $("#div_liste_actes_cons").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteactescons/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_liste_actes_cons").html(data); + } + }); +} + +function selectionner_acte_possibles(codeFamilleActe, codeActe, familleActe, libelleActe) +{ + if(libelleActe<=" ") + return; + + $("#codeFamilleActe").val(codeFamilleActe); + // ajaxactespossibles(); + ajaxactespossibles_med(); + + v_msg="Confirmez-vous cet acte : "+libelleActe+" ?"; + v_msgEng="Do you confirm this act : "+libelleActe+" ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + $("#codeActe").val(codeActe); + ajaxprixactemed(); + + $("#libelleActe").val(libelleActe); + $("#close_pop_acte").click(); + } +} + +function ctrlkeypress_pha(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_medicament_pha(); + } +} + +function afficher_pop_recherche_medicament_pha() +{ + nomsearch = $("#nomsearch").val(); + + if (nomsearch > " ") + { + donnees = "valid=1&nomsearch="+nomsearch; + + $("#div_listemedicament").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistemedicamentspha/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_listemedicament").html(data); + } + }); + } +} + + +function prescrire_medicament_pha() +{ +// Ajout à la prescription + codePrestatairePrescription = $("#codePrestatairePrescription").val(); + codeMedicament = $("#codeMedicament_pop").val(); + libelleMedicament = $("#libelleMedicament_pop").val(); + + if (codeMedicament<=" ") + { + v_msg="Veuillez sélectionner un médicament !"; + v_msgEng="Please select a medicine/drug!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + donnees = 'codeMedicament='+codeMedicament; + donnees += '&codePrestatairePrescription=' + codePrestatairePrescription; + + // alert(donnees); + // return; + + v_msg="Prescrire : "+libelleMedicament+" ?"; + v_msgEng="Prescribe : "+libelleMedicament+" ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailpharmacien/ajoutermedicamentprescription/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#btn_close_pop_medicament").click(); + $("#livraison").html(data); + raffraichier_detail_prescription(); + }, + complete: function() { + alerter_depassement_limite(); + } + }); + } +// Fin Ajout à l aprescription +} + +function raffraichier_detail_prescription() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailordonnance/", + type : 'post', + // data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#ordonnance").html(data); + }, + complete: function() { + } + }); +} + +function actualiser_pharmacien() +{ + /* modif du 15/11/2018 + // window.location.assign($("#racineWeb" ).val()+"Pharmacien/"); + actualiser_saisie_pharmacien(); + */ + + window.location.assign($("#racineWeb" ).val()+"Pharmacien/"); +} + +function ajax_maj_qte_medicament_pha(idMedicament, quantite, controle) +{ + quantite=quantite.replace(",","."); + controle.value=quantite; + + if(controle_numerique(controle)) + { + if(quantite==0) + { + controle.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idMedicament='+idMedicament+"&quantite="+quantite; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailpharmacien/majquantitepha/", + type: 'POST', + data: donnees, + success: function(data) { + // $("#medicaments").html(data); + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + controle.focus(); + } + }); + } +} + +function prescription_examen() +{ + window.location.assign($("#racineWeb" ).val()+"Prescriptionexamen/"); +} + +function valider_presciption_examens() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + nbExamens=$("#nbExamens").val(); + nbExamens = parseInt(nbExamens); + + /* On peut saisir juste le N° de bon + sans saisir le détail de la prescription + + if (nbExamens<1) + { + v_msg="Rien à valider!"; + v_msgEng="Nothing to save!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + */ + + v_msg="Confirmez-vous cette presciption ?"; + v_msgEng="Do you confirm this prescription ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + feuillemaladie(); + /* + $.ajax({ + // url: $("#racineWeb").val()+"Ajaxenregistreroptique/videroptiquetemp/", + url: $("#racineWeb").val()+"Ajaxenregistrerexamen/viderexamentemp/", + type : 'post', + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + feuillemaladie(); + }, + complete: function() { + } + }); + */ + } +} + +function ajaxinfosbonprescriptionexamen() +{ + numeroBonExamen = $("#numeroBonExamen").val(); + numeroBonExamen = parseInt(numeroBonExamen); + if (numeroBonExamen>0) + { + v_msg="Déjà effectué !"; + v_msgEng="Already done !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + codeMedecin = $("#codeMedecin").val(); + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").val(""); + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonexamen/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function supprimer_examen(idExamen) +{ + v_msg="Confirmez-vous la suppression de cet examen ?"; + v_msgEng="Do you confirm the removal of this exam?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + donnees = 'idExamen='+idExamen; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailprescriptionexamen/supprimer/", + type: 'POST', + data: donnees, + success: function(data) { + $("#examens").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + // prescription_examen(); + } + }); + } +} + +function enregistrerprescriptionexamen() +{ + numeroBonSave = $("#numeroBonSave").val(); + + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number of prescription ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + donnees = 'numeroBon='+numeroBon+'&codeMedecin='+codeMedecin; + + $("#btn_enreg").prop('disabled', true); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerprescriptionexamen/enregistrerprescriptionexamen/", + type : 'post', + data: donnees, + error: function(errorData) { + $("#msgErreur").html(errorData); + // alert("Erreur : "+errorData); + }, + success: function(data) { + }, + complete: function() { + v_msg="Prescription enregistrée avec succès"; + v_msgEng="Saved successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + prescription_examen(); + } + }); + } +} + +function ctrlkeypress_examens_possibles(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_examens_possibles(); + } +} + +function afficher_pop_recherche_examens_possibles() +{ + libelleActeSearch = $("#libelleActeSearch").val(); + + if(libelleActeSearch<=" ") + { + return; + } + + donnees = "valid=1&libelleActeSearch="+libelleActeSearch; + + $("#div_liste_actes_possibles").html('
' + '' + '
'); + + $.ajax({ + // url: $("#racineWeb").val()+"Ajaxlisteactespossibles/", + url: $("#racineWeb").val()+"Ajaxlisteexamenspossibles/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_liste_actes_possibles").html(data); + } + }); +} + +function ajouter_examen_possible(codeActe, libelleActe, acteExclu, ententePrealable) +{ + typeSms="ententeprealable"; + + if(libelleActeSearch<=" ") + { + return; + } + + if(acteExclu==1) + { + v_msg="Acte non couvert !"; + v_msgEng="Not covered !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + v_msg="Confirmez-vous cet acte : "+libelleActe+" ?"; + v_msgEng="Do you confirm this act : "+libelleActe+" ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + donnees = 'codeActe='+codeActe+'&ententePrealable='+ententePrealable; + + // alert(donnees); + // return; + + if (ententePrealable==1) + { + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val(); + donnees_sav = donnees+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable'; + + // alert("donnees_sav = "+donnees_sav); + + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailprescriptionexamen/ajouterexamen/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + if(ententePrealable==1) + { + preparesms(typeSms); + + v_msg="Demande accord prealable envoyée !"; + v_msgEng="Request prior agreement sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + + // prescription_examen(); + + }, + complete: function() { + if(ententePrealable==1) + { + mettremailattente(donnees_sav); + } + + prescription_examen(); + + } + }); + } +} + +function ajax_maj_qte_examen(idExamen, quantite, controle) +{ + quantite=quantite.replace(",","."); + controle.value=quantite; + + if(controle_numerique(controle)) + { + if(quantite==0) + { + controle.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idExamen='+idExamen+"&quantite="+quantite; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailprescriptionexamen/majquantite/", + type: 'POST', + data: donnees, + success: function(data) { + $("#examens").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + controle.focus(); + } + }); + } +} + +function examensmedicaux() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + numeroExamen=$("#numeroExamen_C").val(); + + if (numeroExamen==0) + { + v_msg="Aucun examen prescrit !"; + v_msgEng="No prescribed exam !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Examensmedicaux/"); +} + + +function valider_examen_cso() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + if (nbLivre<1) + { + v_msg="Rien à enregitrer! Confirmez-vous cette situation ?"; + v_msgEng="Nothing to save! Do you confirm this situation?"; + v_msg +="\n"; + v_msg +=v_msgEng; + } + else + { + v_msg="Confirmez-vous ces examens ?"; + v_msgEng="Do you confirm these exams ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + } + if (confirm(v_msg)) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailexamen/enregistrerexamen/", + type: 'POST', + success: function(data) { + maj_fraisexclu_cso(); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + feuillemaladie(); + } + }); + } +} + +function ajouterexamen_tous() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailexamen/ajouterexamentous/", + type: 'POST', + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite_cso(); + } + }); +} + +function ajouterexamen(idExamen, ententePrealable, codeActe) +{ + donnees = 'idExamen='+idExamen+'&codeActe='+codeActe+'&ententePrealable='+ententePrealable; + + typeSms="ententeprealable"; + + if (ententePrealable==9) + { + v_msg="Acte refusé !"; + v_msgEng="Act refused !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + if (ententePrealable==2) + { + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val(); + donnees_sav = donnees+'&codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable'; + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailexamen/ajouterexamen/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + + if(ententePrealable=="2") + { + preparesms(typeSms); + + v_msg="Demande accord prealable envoyée !"; + v_msgEng="Request prior agreement sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }, + error: function(data) { + //alert(data); + }, + complete: function() { + if(ententePrealable=="2") + { + mettremailattente(donnees_sav); + } + } + }); +} + +function retirerexamen_tous() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailexamen/retirerexamentous/", + type: 'POST', + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function retirerexamen(idExamen) +{ + donnees = 'idExamen='+idExamen; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailexamen/retirerexamen/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function consulter_limite_avant_facturation_cons() +{ + idFacture=$("#idFacture_C").val(); + + // alert("consulter_limite_avant_facturation_cons : "+idFacture); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturecons/"); +} + +function consulter_limite_avant_facturation() +{ + idFacture=$("#idFacture_C").val(); + + // alert("consulter_limite_avant_facturation : "+idFacture); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacture/"); +} + + + +function consulter_limite_avant_facturation_cons_ben() +{ + idFacture=$("#idFacture_C").val(); + + // alert("consulter_limite_avant_facturation_cons_ben : "+idFacture); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureconsben/"); +} + +function consulter_limite_avant_facturation_pha() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturepha/"); +} + +function consulter_limite_avant_facturation_pha_cons() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturephacons/"); +} + +function consulter_limite_avant_facturation_pha_cons_ben() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturephaconsben/"); +} + +function actualiser_opticien() +{ + window.location.assign($("#racineWeb" ).val()+"Opticien/"); +} + +function reinitialiser_opticien() +{ + window.location.assign($("#racineWeb" ).val()+"Opticien/0"); +} + + +function consulter_limite_avant_facturation_opt() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureopt/"); +} + +function consulter_limite_avant_facturation_opt_cons() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureoptcons/"); +} + +function consulter_limite_avant_facturation_opt_cons_ben() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureoptconsben/"); +} + +function ajouterexamen_lab_tous() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/ajouterexamentous/", + type: 'POST', + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + } + }); +} + +function ajouterexamen_lab(idExamen) +{ + donnees = 'idExamen='+idExamen; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/ajouterexamen/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + } + }); +} + + +function retirerexamen_lab(idExamen) +{ + donnees = 'idExamen='+idExamen; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/retirerexamen/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + } + }); +} + +function ctrlkeypress_examens_possibles_lab(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_examens_possibles_lab(); + } +} + +function afficher_pop_recherche_examens_possibles_lab() +{ + libelleActeSearch = $("#libelleActeSearch").val(); + + if(libelleActeSearch<=" ") + { + return; + } + + donnees = "valid=1&libelleActeSearch="+libelleActeSearch; + + $("#div_liste_actes_possibles").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteexamenspossibleslab/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_liste_actes_possibles").html(data); + } + }); +} + +function consulter_limite_avant_facturation_lab() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturelab/"); +} + +function actualiser_laboratoire() +{ + window.location.assign($("#racineWeb" ).val()+"Laboratoire/"); +} + +function valider_examen_lab() +{ + numeroExamen=$("#numeroExamen_C").val(); + + if (numeroExamen<="0") + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + facture=$("#facture").val(); + facture = parseInt(facture); + + if (facture>0) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + if (facture==0 && nbLivre<1) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous ces actes ?"; + v_msgEng="Do you confirm those acts?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + modeSaisieFacture=$("#modeSaisieFacture").val(); + if(modeSaisieFacture=="1") + { + $("#okId" ).val("1"); + facturer_lab(); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + facturer_lab(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id =$("#user_id_C").val(); + finger_id =$("#finger_id_C").val(); + + $("#facturation").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&facturation=1"; + + load("flexcode/user.php?"+data); + } + } +} + +function retirerexamen_lab_tous() +{ + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/retirerexamentous/", + type: 'POST', + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + // actualiser_pharmacien(); + } + }); +} + +function facturer_lab() +{ + facture=$("#facture").val(); + facture = parseInt(facture); + + if (facture>0) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + if (facture==0 && nbLivre<1) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + montantTm = $("#montantTm").val(); + cout = $("#cout").val(); + + donnees = 'prixActe='+prixActe; + donnees += '&montantTm='+montantTm; + donnees += '&cout='+cout; + + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + codePrestataire = $("#codePrestataire_C").val(); + + donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=maillabo'; + + typeSms = "facturer_lab"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/enregistrerlaboratoire/", + type: 'POST', + success: function(data) { + // suspension provisoire Vivien 20/03/20118 + // preparesms(typeSms); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + // suspension provisoire Vivien 20/03/20118 + // mettremailattente_adh(donnees_sav); + + window.location.assign($("#racineWeb" ).val()+"Laboratoire/"); + + v_msg="Facturation effectuée avec succès!"; + v_msgEng="Successful billing!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }); +} + +function prescrire_examen_lab(codeActe, libelleActe, acteExclu, ententePrealable) +{ + typeSms="ententeprealable"; + + if(libelleActeSearch<=" ") + { + return; + } + + if(acteExclu==1) + { + v_msg="Acte non couvert !"; + v_msgEng="Not covered !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + v_msg="Confirmez-vous cet acte : "+libelleActe+" ?"; + v_msgEng="Do you confirm this act : "+libelleActe+" ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + donnees = 'codeActe='+codeActe+'&ententePrealable='+ententePrealable; + + // alert(donnees); + // return; + + if (ententePrealable==1) + { + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val(); + donnees_sav = donnees+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable'; + + // alert("donnees_sav = "+donnees_sav); + + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/ajouterexamenprescription/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#btn_close_pop_acte").click(); + $("#livraison").html(data); + + if(ententePrealable==1) + { + preparesms(typeSms); + + v_msg="Demande accord prealable envoyée !"; + v_msgEng="Request prior agreement sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }, + complete: function() { + if(ententePrealable==1) + { + mettremailattente(donnees_sav); + } + alerter_depassement_limite(); + } + }); + } +} + +function enregistrer_nv_consommables() +{ + libelleconsommable = $("#libelleconsommable").val(); + + if (libelleconsommable<=" ") + { + v_msg="Veuillez saisir le nom !"; + v_msgEng="Please enter tyhe name !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#libelleconsommable").focus(); + return; + } + + quantiteconsommable=$("#quantiteconsommable").val(); + quantiteconsommable=quantiteconsommable.replace(",","."); + $("#quantiteconsommable").val(quantiteconsommable); + + if(isNaN(quantiteconsommable)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#quantiteconsommable").val("0"); + $("#quantiteconsommable").focus(); + return + } + + if(quantiteconsommable==0) + { + $("#quantiteconsommable").focus(); + v_msg="Veuillez saisir la quantité!"; + v_msgEng="Please enter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + prixconsommable=$("#prixconsommable").val(); + prixconsommable=prixconsommable.replace(",","."); + $("#prixconsommable").val(prixconsommable); + + if(isNaN(prixconsommable)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#prixconsommable").val("0"); + $("#prixconsommable").focus(); + return + } + + if(prixconsommable==0) + { + $("#prixconsommable").focus(); + v_msg="Veuillez saisir le prix !"; + v_msgEng="Please enter the price !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + donnees = 'libelleconsommable='+libelleconsommable+'&prixconsommable='+prixconsommable+'&quantiteconsommable='+quantiteconsommable; + + // alert(donnees); + // return; + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteconsommables/creerconsommable/", + type: 'POST', + data: donnees, + success: function(data) { + // $('#div_test_gabarit').html(data); + }, + error: function(data) { + }, + complete: function() { + afficher_consommable(); + } + }); +} + +function ajax_maj_prix_consommable(idConsommable, valeurActe, controle) +{ + valeurActe=valeurActe.replace(",","."); + controle.value=valeurActe; + + if(controle_numerique(controle)) + { + if(valeurActe==0) + { + controle.focus(); + v_msg="Veuillez saisir le prix !"; + v_msgEng="Please enter the price !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idConsommable='+idConsommable+"&valeurActe="+valeurActe; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteconsommables/majprix/", + type: 'POST', + data: donnees, + success: function(data) { + // $('#div_test_gabarit').html(data); + }, + error: function(data) { + }, + complete: function() { + afficher_consommable(); + } + }); + } +} + +function remplacer_feuillemaladie() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Remplacerfeuille/"); +} + +function ajaxinfosremplacerbonconsultation() +{ + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosremplacerbonconsultation/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function enregistrerremplacementconsultation() +{ + numeroBonSave = $("#numeroBonSave").val(); + + motifremplacement = $("#motifremplacement").val(); + + if (motifremplacement<=" ") + { + v_msg="Veuillez saisir le otif du remplacement!"; + v_msgEng="Please enter the reason !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#motifremplacement").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number of presciption ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + OldnumeroBon = $("#OldnumeroBon").val(); + + donnees = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&numeroBon='+numeroBon+'&OldnumeroBon='+OldnumeroBon+'&motifremplacement='+motifremplacement; + + // donnees += '&dateSurvenance='+dateSurvenance+'&observations='+observations+'&prixActe='+prixActe; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosremplacerbonconsultation/enregistrerremplacementconsultation/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + }, + complete: function() { + v_msg="Feuille remplacée avec succès !"; + v_msgEng="Replaced successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + feuillemaladie(); + } + }); + } +} + +function remplacer_ordonnance() +{ + facture=$("#facture").val(); + + if (facture!=1) + { + v_msg="Pas encore facturé, vous pouvez modifier l\'ordonnance !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + numeroBonOrdonnance = $("#numeroBonOrdonnance").val(); + numeroBonOrdonnance = parseInt(numeroBonOrdonnance); + + /* + if (numeroBonOrdonnance<=0) + { + v_msg="Pas de prescription !"; + v_msgEng="No prescription !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + */ + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + fiche_remplacer_ordonnance(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id =$("#user_id_C").val(); + finger_id =$("#finger_id_C").val(); + + $("#remplacerordonnance").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&remplacerordonnance=1"; + + load("flexcode/user.php?"+data); + } +} + +function fiche_remplacer_ordonnance() +{ + window.location.assign($("#racineWeb" ).val()+"Remplacerordonnance/"); +} + +function ajaxinfosremplacerordonnance() +{ + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosremplacerordonnence/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function enregistrerremplacementordonnance() +{ + numeroBonSave = $("#numeroBonSave").val(); + + motifremplacement = $("#motifremplacement").val(); + + if (motifremplacement<=" ") + { + v_msg="Veuillez saisir le otif du remplacement!"; + v_msgEng="Please enter the reason !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#motifremplacement").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number of presciption ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + OldnumeroBon = $("#OldnumeroBon").val(); + + donnees = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&numeroBon='+numeroBon+'&OldnumeroBon='+OldnumeroBon+'&motifremplacement='+motifremplacement; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosremplacerordonnence/enregistrerremplacementordonnance/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + }, + complete: function() { + v_msg="Ordonnance remplacée avec succès !"; + v_msgEng="Replaced successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + prescription_medicament(); + } + }); + } +} + +function afficher_laboratoire_cso() +{ + window.location.assign($("#racineWeb" ).val()+"Laboratoirecso/"); +} + + +function afficher_seance_cso() +{ + window.location.assign($("#racineWeb" ).val()+"Kinecso/"); +} + +function consulter_limite_avant_facturation_lab_cso() +{ + /* + numeroExamen=$("#numeroExamen_C").val(); + + if (numeroExamen<="0") + { + v_msg="Pas de facture!"; + v_msgEng="No bill !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + facture=$("#facture").val(); + facture = parseInt(facture); + + if (facture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + */ + + idFacture=$("#idFacture_C").val(); + + alert("consulter_limite_avant_facturation_lab_cso : "+idFacture); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturelabcso/"); +} + +function rechercherbonexamen_lab() +{ + numeroBonExamen=$("#numeroBonExamen").val(); + + if (numeroBonExamen>" ") + { + chercher_ordonnance_lab(numeroBonExamen); + } +} + +function rechercherbonexamen_lab_cso() +{ + numeroBonExamen=$("#numeroBonExamen").val(); + + if (numeroBonExamen>" ") + { + chercher_ordonnance_lab_cso(numeroBonExamen); + } +} + +function chercher_ordonnance_lab_cso(numeroBonExamen) +{ + donnees = 'numeroBonExamen='+numeroBonExamen; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerordonnancelab/", + type: 'POST', + data: donnees, + success: function(data) { + }, + error: function(data) { + //alert(data); + }, + complete: function() { + afficher_laboratoire_cso(); + } + }); +} + +function valider_examen_lab_cso() +{ + numeroExamen=$("#numeroExamen_C").val(); + + if (numeroExamen<="0") + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + facture=$("#facture").val(); + facture = parseInt(facture); + + if (facture>0) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + if (facture==0 && nbLivre<1) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous ces actes ?"; + v_msgEng="Do you confirm those acts?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + modeSaisieFacture=$("#modeSaisieFacture").val(); + if(modeSaisieFacture=="1") + { + $("#okId" ).val("1"); + facturer_lab_cso(); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + facturer_lab_cso(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id =$("#user_id_C").val(); + finger_id =$("#finger_id_C").val(); + + $("#facturation").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&facturation=1"; + + load("flexcode/user.php?"+data); + } + } +} + +function facturer_lab_cso() +{ + facture=$("#facture").val(); + facture = parseInt(facture); + + if (facture>0) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + if (facture==0 && nbLivre<1) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + montantTm = $("#montantTm").val(); + cout = $("#cout").val(); + + donnees = 'prixActe='+prixActe; + donnees += '&montantTm='+montantTm; + donnees += '&cout='+cout; + + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + codePrestataire = $("#codePrestataire_C").val(); + + donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=maillabo'; + + typeSms = "facturer_lab"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/enregistrerlaboratoire/", + type: 'POST', + success: function(data) { + // suspension provisoire Vivien 20/03/20118 + // preparesms(typeSms); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + // suspension provisoire Vivien 20/03/20118 + // mettremailattente_adh(donnees_sav); + + afficher_laboratoire_cso(); + + v_msg="Facturation effectuée avec succès!"; + v_msgEng="Successful billing!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }); +} + +function prescription_seance() +{ + window.location.assign($("#racineWeb" ).val()+"Prescriptionseance/"); +} + + +function seances() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + numeroPrescriptionKine=$("#numeroPrescriptionKine_C").val(); + + if (numeroPrescriptionKine==0) + { + v_msg="Aucune séance prescrite !"; + v_msgEng="No prescribed session !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Seances/"); +} + +function ajaxinfosbonprescriptionseance() +{ + numeroBonKine = $("#numeroBonKine").val(); + numeroBonKine = parseInt(numeroBonKine); + if (numeroBonKine>0) + { + v_msg="Déjà effectué !"; + v_msgEng="Already done !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + codeMedecin = $("#codeMedecin").val(); + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").val(""); + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#nomMedecin").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonseance/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function enregistrerprescriptionseance() +{ + numeroBonSave = $("#numeroBonSave").val(); + + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number of prescription ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + donnees = 'numeroBon='+numeroBon+'&codeMedecin='+codeMedecin; + + $("#btn_enreg").prop('disabled', true); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerprescriptionseance/enregistrerprescriptionseance/", + type : 'post', + data: donnees, + error: function(errorData) { + $("#msgErreur").html(errorData); + // alert("Erreur : "+errorData); + }, + success: function(data) { + // $("#examens").html(data); + }, + complete: function() { + v_msg="Prescription enregistrée avec succès"; + v_msgEng="Saved successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + prescription_seance(); + } + }); + } +} + +function modifierprescriptionseance() +{ + acteExclu = $("#acteExclu").val(); + + if(acteExclu==1) + { + v_msg="Acte non couvert !"; + v_msgEng="Not covered !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeActePrescription = $("#codeActe").val(); + + if (codeActePrescription<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + // $("#codeActePrescription").focus(); + return; + } + + quantite =$("#quantite").val(); + + quantite = parseInt(quantite); + + if(quantite<1) + { + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + // $("#quantite").focus(); + return; + } + + div_prix = $("#prixActe"); + prixActe = div_prix.val(); + + // if(prixActe==0 || parseFloat(prixActe)>parseFloat(prixTarif)) + if(prixActe==0) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cette presciption ?"; + v_msgEng="Do you confirm this prescription ?"; + + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + montantTm =$("#montantTm").val(); + montantArembourser =$("#aRembourser").val(); + fraisReel =$("#totalActe").val(); + + donnees = 'codeActePrescription='+codeActePrescription +'&quantite='+quantite +'&prixActe='+prixActe; + donnees += '&montantTm='+montantTm +'&montantArembourser='+montantArembourser +'&fraisReel='+fraisReel; + + + $("#btn_enreg_seance").prop('disabled', true); + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerprescriptionseance/modifierprescriptionseance/", + type : 'post', + data: donnees, + error: function(errorData) { + $("#msgErreur").html(errorData); + // alert("Erreur : "+errorData); + }, + success: function(data) { + // $("#examens").html(data); + }, + complete: function() { + v_msg="Prescription enregistrée avec succès"; + v_msgEng="Saved successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + prescription_seance(); + } + }); + } +} + +function ajaxprixseance() +{ + $("#prixActe_info").val("0"); + $("#montantTm_info").val("0"); + $("#aRembourser_info").val("0"); + // $("#quantite_info").val("0"); + + codeActe = $("#codeActe").val(); + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un act !"; + v_msgEng="Please select an act !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.focus(); + v_msg="Veuillez saisir le nombre de séances !"; + v_msgEng="Please enter the number of sessions!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + donnees = 'codeActe='+codeActe+'&quantite='+quantite; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxprixseance/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // alert(data); + $("#infosacte").html(data); + }, + complete: function() { + } + }); +} + +function valider_presciption_seances() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + codeActePrescription = $("#codeActePrescription").val(); + + if (codeActePrescription<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_prescrire").click(); + + return; + } + + nbSeance=$("#nbSeance").val(); + nbSeance = parseInt(nbSeance); + + if (nbSeance<1) + { + v_msg="Veuillez saisir le nombre de séances !"; + v_msgEng="Please enter the number of sessions!"; + v_msg +="\n"; + v_msg +=v_msgEng; + + alert(v_msg); + + $("#btn_prescrire").click(); + + return; + } + + v_msg="Confirmez-vous cette presciption ?"; + v_msgEng="Do you confirm this prescription ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + feuillemaladie(); + } +} + + +function valider_seance_cso() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + numeroBonSeance=$("#numeroBonSeance_C").val(); + + if (numeroBonSeance<="0") + { + v_msg="Veuillez sélectionner un bon!"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_InitSession").click(); + return; + } + + + div_quantite = $("#quantiteSeance"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + // div_quantite.focus(); + v_msg="Veuillez saisir le nombre de séances !"; + v_msgEng="Please enter the number of sessions!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + v_msg="Confirmez-vous ces séances ?"; + v_msgEng="Do you confirm these sessions ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailseance/enregistrerseance/", + type: 'POST', + success: function(data) { + maj_fraisexclu_cso(); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + feuillemaladie(); + } + }); + } +} + +function actualiser_seance() +{ + window.location.assign($("#racineWeb" ).val()+"Seances/"); +} + +// SEANCES KINE + + +function valider_seance_sea_cso() +{ + numeroBonSeance=$("#numeroBonSeance_C").val(); + + if (numeroBonSeance<="0") + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + codeActe = $("#codeActe").val(); + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un act !"; + v_msgEng="Please select an act !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + fraisRetenuSeance=$("#fraisRetenuSeance").val(); + + if (fraisRetenuSeance<=0) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous ces séances ?"; + v_msgEng="Do you confirm those sessions?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + modeSaisieFacture=$("#modeSaisieFacture").val(); + if(modeSaisieFacture=="1") + { + $("#okId" ).val("1"); + facturer_sea_cso(); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + facturer_sea_cso(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id =$("#user_id_C").val(); + finger_id =$("#finger_id_C").val(); + + $("#facturation").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&facturation=1"; + + load("flexcode/user.php?"+data); + } + } +} + + +function facturer_sea_cso() +{ + cout = $("#cout").val(); + + if (cout==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + prixActe = $("#prixActe").val(); + montantTm = $("#montantTm").val(); + cout = $("#cout").val(); + + donnees = 'prixActe='+prixActe; + donnees += '&montantTm='+montantTm; + donnees += '&cout='+cout; + + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + codePrestataire = $("#codePrestataire_C").val(); + + donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=mailkine'; + + typeSms = "facturer_sea"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfacturatioseancesea/facturerseance/", + type: 'POST', + success: function(data) { + // suspension provisoire Vivien 20/03/20118 + // preparesms(typeSms); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + // suspension provisoire Vivien 20/03/20118 + // mettremailattente_adh(donnees_sav); + + afficher_seance_cso(); + + v_msg="Facturation effectuée avec succès!"; + v_msgEng="Successful billing!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }); + +} + +function rechercherbonkine_sea() +{ + numeroBonKine=$("#numeroBonKine").val(); + + if (numeroBonKine>" ") + { + chercher_ordonnance_sea(numeroBonKine); + } +} + +function chercher_ordonnance_sea(numeroBonKine) +{ + $("#numeroBonSeance_C").val("-1"); + donnees = 'numeroBonKine='+numeroBonKine; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerordonnancesea/", + type: 'POST', + data: donnees, + success: function(data) { + window.location.assign($("#racineWeb" ).val()+"Kine/"); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function ctrlkeypressordsea(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + numeroBonKine=$("#numeroBonKine").val(); + $("#numeroBonKine").blur(); + } +} + +function rechercherbonkine_sea_cso() +{ + numeroBonKine=$("#numeroBonKine").val(); + + if (numeroBonKine>" ") + { + chercher_ordonnance_sea_cso(numeroBonKine); + } +} + +function chercher_ordonnance_sea_cso(numeroBonKine) +{ + $("#numeroBonSeance_C").val("-1"); + donnees = 'numeroBonKine='+numeroBonKine; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerordonnancesea/", + type: 'POST', + data: donnees, + success: function(data) { + window.location.assign($("#racineWeb" ).val()+"Kinecso/"); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); + +} + + +function ajaxinfosbonseancekine() +{ + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg_bon_kine").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonseancekine/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function enregistrerbonsseancekine() +{ + numeroBonSave = $("#numeroBonSave").val(); + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number of presciption ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonseancekine/attributionbontemporaire/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + }, + complete: function() { + afficher_facturation_seance(); + } + }); + } +} + + +function afficher_facturation_seance() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfacturatioseancesea/", + // type : 'post', + // data: donnees, + error: function(errorData) { + alert("Erreur : "+errorData); + }, + success: function(data) { + $("#btn_close_pop_session").click(); + $("#div_facturation_seance").html(data); + }, + complete: function(data) { + $("#numeroBonSeance_C").val($("#numeroBonSeance_info").val()); + } + }); +} + +function ajaxprixseancesea() +{ + codeActe = $("#codeActe").val(); + + if (codeActe<=" ") + { + $("#prixActe_info").val("0"); + $("#totalActe_info").val("0"); + $("#montantTm_info").val("0"); + $("#aRembourser_info").val("0"); + + v_msg="Veuillez sélectionner un act !"; + v_msgEng="Please select an act !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + div_quantite = $("#quantiteSeance"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.val(1); + + quantite = 1; + /* + div_quantite.focus(); + v_msg="Veuillez saisir le nombre de séances !"; + v_msgEng="Please enter the number of sessions!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + */ + } + + div_nbRestant = $("#nbRestant"); + nbRestant = div_nbRestant.val(); + nbRestant = parseInt(nbRestant); + + if(quantite>nbRestant) + { + div_quantite.focus(); + v_msg="Vous ne pouvez pas dépasser "+nbRestant+" séances!"; + v_msgEng="Only "+nbRestant+" sessions are possible!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + donnees = 'codeActe='+codeActe+'&quantite='+quantite; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxprixseancesea/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosacte").html(data); + }, + complete: function() { + } + }); +} + +// Facturation SEANCE KINE + +function valider_seance_sea() +{ + numeroBonSeance=$("#numeroBonSeance_C").val(); + + if (numeroBonSeance<="0") + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + codeActe = $("#codeActe").val(); + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un act !"; + v_msgEng="Please select an act !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + fraisRetenuSeance=$("#fraisRetenuSeance").val(); + + if (fraisRetenuSeance<=0) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous ces séances ?"; + v_msgEng="Do you confirm those sessions?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + modeSaisieFacture=$("#modeSaisieFacture").val(); + if(modeSaisieFacture=="1") + { + $("#okId" ).val("1"); + facturer_sea(); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + facturer_sea(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id =$("#user_id_C").val(); + finger_id =$("#finger_id_C").val(); + + $("#facturation").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&facturation=1"; + + load("flexcode/user.php?"+data); + } + } +} + +function facturer_sea() +{ + cout = $("#cout").val(); + + if (cout==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + prixActe = $("#prixActe").val(); + montantTm = $("#montantTm").val(); + cout = $("#cout").val(); + + donnees = 'prixActe='+prixActe; + donnees += '&montantTm='+montantTm; + donnees += '&cout='+cout; + + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + codePrestataire = $("#codePrestataire_C").val(); + + donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=mailkine'; + + typeSms = "facturer_sea"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfacturatioseancesea/facturerseance/", + type: 'POST', + success: function(data) { + // suspension provisoire Vivien 20/03/20118 + // preparesms(typeSms); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + // suspension provisoire Vivien 20/03/20118 + // mettremailattente_adh(donnees_sav); + + window.location.assign($("#racineWeb" ).val()+"Kine/"); + + v_msg="Facturation effectuée avec succès!"; + v_msgEng="Successful billing!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }); +} + +/* +function rechercherbonexamen_lab_cso() +{ + numeroBonExamen=$("#numeroBonExamen").val(); + + if (numeroBonExamen>" ") + { + chercher_ordonnance_lab_cso(numeroBonExamen); + } +} +*/ + +// 19/11/2017 + +function enregistrerbonsseancekinecso() +{ + numeroBonSave = $("#numeroBonSave").val(); + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number of presciption ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonseancekinecso/attributionbontemporaire/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + }, + complete: function() { + afficher_facturation_seance_cso(); + } + }); + } +} + + +function afficher_facturation_seance_cso() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfacturatioseancecso/", + error: function(errorData) { + alert("Erreur : "+errorData); + }, + success: function(data) { + $("#btn_close_pop_session").click(); + $("#div_facturation_seance").html(data); + }, + complete: function(data) { + $("#numeroBonSeance_C").val($("#numeroBonSeance_info").val()); + } + }); +} + + +function ajaxinfosbonseancekinecso() +{ + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg_bon_kine").prop('disabled', true); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonseancekinecso/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function ajaxmajquteseancecso() +{ + div_prix = $("#prixActe"); + prixActe = div_prix.val(); + + if(prixActe==0) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + div_quantite = $("#quantiteSeance"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.focus(); + v_msg="Veuillez saisir le nombre de séances !"; + v_msgEng="Please enter the number of sessions!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + div_nbRestant = $("#nbRestant"); + nbRestant = div_nbRestant.val(); + nbRestant = parseInt(nbRestant); + + if(quantite>nbRestant) + { + div_quantite.focus(); + v_msg="Vous ne pouvez pas dépasser "+nbRestant+" séances!"; + v_msgEng="Only "+nbRestant+" sessions are possible!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + donnees = 'prixActe='+prixActe+'&quantite='+quantite; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfacturatioseancecso/modifierseancecso/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // $("#infoseance").html(data); + }, + complete: function() { + afficher_facturation_seance_cso(); + } + }); +} + + + +function consulter_limite_avant_facturation_kinecso(idFacture) +{ + if (idFacture<=0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturekinecso/"+idFacture+"/"); +} + + +function consulter_limite_avant_facturation_kine(idFacture) +{ + if (idFacture<=0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturekine/"+idFacture+"/"); +} + +function afficher_seance_kine() +{ + window.location.assign($("#racineWeb" ).val()+"Kine/"); +} + +// consulatation_ben + +function consultationbenlab() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationbenlab/"); +} + +function consultationbensea() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationbensea/"); +} + +function laboratoire() +{ + if (prestation_possible()) + { + /* mis en commentaire le 28/11/2017 + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + } + else + { + finger_id = $("#finger_id_C" ).val(); + + if (finger_id==0) + { + v_msg="Veuillez procéder à l\'enrôlement avant !"; + v_msgEng="Please enroll before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + okId=$("#okId" ).val(); + + if (okId!=1) + { + v_msg="Veuillez procéder à l\'identification avant !"; + v_msgEng="Please check identity before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + } + */ + + window.location.assign($("#racineWeb" ).val()+"Laboratoire/"); + } +} + + +function seancekine() +{ + if (prestation_possible()) + { + /* mis en commentaire le 28/11/2017 + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + } + else + { + finger_id = $("#finger_id_C" ).val(); + + if (finger_id==0) + { + v_msg="Veuillez procéder à l\'enrôlement avant !"; + v_msgEng="Please enroll before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + okId=$("#okId" ).val(); + + if (okId!=1) + { + v_msg="Veuillez procéder à l\'identification avant !"; + v_msgEng="Please check identity before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + } + */ + + window.location.assign($("#racineWeb" ).val()+"Kine/"); + } +} + +function afficher_facture_cons_lab(idFacture, numeroBonExamen, codePrestataireLivraison) +{ + if (idFacture>"") + { + donnees = 'idFacture='+idFacture+'&numeroBonExamen='+numeroBonExamen+'&codePrestataireLivraison='+codePrestataireLivraison; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfacturelab/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + consulter_facture_lab(); + } + }); + } +} + +function consulter_facture_lab() +{ + window.location.assign($("#racineWeb" ).val()+"Laboratoirecons/"); +} + +function consulter_limite_avant_facturation_lab_cons() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturelabcons/"); +} + +function afficher_facture_cons_lab_ben(idFacture, numeroBonExamen, codePrestataireLivraison) +{ + if (idFacture>"") + { + donnees = 'idFacture='+idFacture+'&numeroBonExamen='+numeroBonExamen+'&codePrestataireLivraison='+codePrestataireLivraison; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfacturelab/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + consulter_facture_lab_ben(); + } + }); + } +} + +function consulter_facture_lab_ben() +{ + window.location.assign($("#racineWeb" ).val()+"Laboratoireconsben/"); +} + +function consulter_limite_avant_facturation_lab_cons_ben() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturelabconsben/"); +} + +function listerdossiercons_lab() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + donnees_sav = donnees; + + $("#detail_reglement").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationlabentete/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#reglement").html(data); + }, + complete: function() { + } + }); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationlab/", + type : 'post', + data: donnees_sav, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#detail_reglement").html(data); + $("#detail_reglement").css("padding-top", "0px"); + }, + complete: function() { + } + }); +} + +function lister_factures_lab_ben() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationbenlab/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function consultationsea() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationsea/"); +} + +function listerdossiercons_sea() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + donnees_sav = donnees; + + $("#detail_reglement").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationseaentete/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#reglement").html(data); + }, + complete: function() { + } + }); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationsea/", + type : 'post', + data: donnees_sav, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#detail_reglement").html(data); + $("#detail_reglement").css("padding-top", "0px"); + }, + complete: function() { + } + }); +} + +function consulter_facture_sea() +{ + window.location.assign($("#racineWeb" ).val()+"Kinecons/"); +} + +function consulter_limite_avant_facturation_sea_cons() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureseacons/"); +} + +function lister_factures_sea_ben() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + // url: $("#racineWeb").val()+"Ajaxconsultationbenlab/", + url: $("#racineWeb").val()+"Ajaxconsultationbensea/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function afficher_facture_cons_sea(idFacture, numeroBonKine, codePrestataireLivraison) +{ + if (idFacture>"") + { + donnees = 'idFacture='+idFacture+'&numeroBonKine='+numeroBonKine+'&codePrestataireLivraison='+codePrestataireLivraison; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfacturesea/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + consulter_facture_sea(); + } + }); + } +} + + +function afficher_facture_cons_sea_ben(idFacture, numeroBonKine, codePrestataireLivraison) +{ + if (idFacture>"") + { + donnees = 'idFacture='+idFacture+'&numeroBonKine='+numeroBonKine+'&codePrestataireLivraison='+codePrestataireLivraison; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfacturesea/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + consulter_facture_sea_ben(); + } + }); + } +} + +function consulter_facture_sea_ben() +{ + window.location.assign($("#racineWeb" ).val()+"Kineconsben/"); +} + +function consulter_limite_avant_facturation_sea_cons_ben() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureseaconsben/"); +} + +function ctrlkeypress_numeroBon(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + $("#numeroBon").blur(); + } +} + +function verifier_feuille_maladie_dec_cons(numeroFeuilleMaladie, idFacture) +{ + $("#numeroFeuilleMaladie_C").val(numeroFeuilleMaladie); + numeroDecompte = $("#numeroDecompte").val(); + + // if (numeroFeuilleMaladie>"") + if (idFacture>"") + { + donnees = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&numeroDecompte='+numeroDecompte+'&idFacture='+idFacture; + + codeTypePrestataire = $("#codeTypePrestataire_C").val(); + + if(codeTypePrestataire=="CSO" || codeTypePrestataire=="LAB" || codeTypePrestataire=="SEA") + { + + verifier_feuille_maladie_dec_cso_cons(donnees); + } + else + if(codeTypePrestataire=="PHA") + { + verifier_feuille_maladie_dec_pha_cons(donnees); + } + else + if(codeTypePrestataire=="OPT") + { + verifier_feuille_maladie_dec_opt_cons(donnees); + } + } +} + + +function imprimerbordereaudecompte() +{ + idReglement = $("#idReglement").val(); + + + if (idReglement>"0") + { + var div_wait = $('#div_wait'); + div_wait.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaximprimerdemandereglement/imprimerbordereaudecompte", + type: 'POST', + success: function(data) + { + div_wait.html(data); + }, + error : function(resultat, statut, erreur) + { + alert(erreur); + }, + complete: function(data) + { + } + }); + } +} + +function verifier_feuille_maladie_dec_cso_cons(donnees) +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxverifierfacturecons/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_verification_facture").html(data); + }, + complete: function() { + $("#btn_pop").click(); + } + }); +} + +function verifier_feuille_maladie_dec_pha_cons(donnees) +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxverifierfacturephacons/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_verification_facture").html(data); + }, + complete: function() { + $("#btn_pop").click(); + } + }); +} + +function verifier_feuille_maladie_dec_opt_cons(donnees) +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxverifierfactureoptcons/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_verification_facture").html(data); + }, + complete: function() { + $("#btn_pop").click(); + } + }); +} + +function limite_avant_facture_dec(idFacture) +{ + donnees = 'idFacture='+idFacture; + $.ajax({ + url: $("#racineWeb").val()+"AjaxPlafondavantfacturecdec/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_limites").html(data); + }, + complete: function() { + } + }); +} + +function demander_decompte() +{ + window.location.assign($("#racineWeb" ).val()+"Initdemandedecompte/"); +} + +function initierdemandedecompte() +{ + codeExercice=$("#codeExercice").val(); + codeMois=$("#codeMois").val(); + + if (codeExercice<=" ") + { + v_msg="Veuillez sélectionner un exercice !"; + v_msgEng="Please select an exercise !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeExercice").focus(); + + return; + } + + if (codeMois<=" ") + { + v_msg="Veuillez sélectionner une période !"; + v_msgEng="Please select a period !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $(codeMois).focus(); + return; + } + + donnees = 'codeExercice='+codeExercice+'&codeMois='+codeMois; + + // $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdemandedecompte/initierdemandedecompte/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#inforegle").html(data); + }, + complete: function() { + regle=$("#regle").val(); + + if(regle==-1) + { + alert("Problème lors de l\'initialisation !"); + return; + } + else + { + afficher_demande_decompte(); + } + } + }); +} + +function afficher_demande_decompte() +{ + $("#detail_demande_decompte").html('
' + '' + '
'); + window.location.assign($("#racineWeb" ).val()+"Demandedecompte/"); +} + + +function imprimerbordereaudemandedecompte() +{ + idDemandeDecompte = $("#idDemandeDecompte").val(); + + if (idDemandeDecompte>"0") + { + var div_wait = $('#div_wait'); + div_wait.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaximprimerdemandedecompte/imprimerdemandecompte", + type: 'POST', + success: function(data) + { + div_wait.html(data); + }, + error : function(resultat, statut, erreur) + { + alert(erreur); + }, + complete: function(data) + { + } + }); + } +} + +function rechargerdemandedecompte() +{ + $("#detail_demande_decompte").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdemandedecompte/rechargerdemandedecompte/", + type : 'post', + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + afficher_demande_decompte(); + }, + complete: function() { + } + }); +} + +function actualiser_decompte() +{ + $("#div_detail").html('
' + '' + '
'); + + window.location.assign($("#racineWeb" ).val()+"Decomptecons/"); +} + +function monture() +{ + $("#monture").val("1"); + + if (prestation_possible()) + { + modeSaisieFacture=$("#modeSaisieFacture").val(); + if(modeSaisieFacture=="1") + { + $("#okId" ).val("1"); + window.location.assign($("#racineWeb" ).val()+"Monture/"); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + } + else + { + finger_id = $("#finger_id_C" ).val(); + + if (finger_id==0) + { + v_msg="Veuillez procéder à l\'enrôlement avant !"; + v_msgEng="Please enroll before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + okId=$("#okId" ).val(); + + if (okId!=1) + { + v_msg="Veuillez procéder à l\'identification avant !"; + v_msgEng="Please check identity before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + } + + // alert("Monture Direct"); + // return; + + window.location.assign($("#racineWeb" ).val()+"Monture/"); + } +} + +function actualiser_monture() +{ + window.location.assign($("#racineWeb" ).val()+"Monture/"); +} + +function valider_monture() +{ + + ententePrealableMont=$("#ententePrealableMont").val(); + + // alert("ententePrealableMont : "+ententePrealableMont); + + nbActesMonture=$("#nbActesMonture").val(); + + if (nbActesMonture>0 && ententePrealableMont!=1) + { + v_msg="Montures déjà livrées une fois!"; + v_msgEng="Frames already delivered once!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + /* + alert("On peut facturer"); + return; + */ + + numeroFacture=$("#numeroFacture").val(); + + if (numeroFacture<=" ") + { + v_msg="Veuillez saisir le No de la facture !"; + v_msgEng="Please enter the Invoice No!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroFacture").focus(); + + return; + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cette livraison ?"; + v_msgEng="Do you confirm this delivery?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + modeSaisieFacture=$("#modeSaisieFacture").val(); + if(modeSaisieFacture=="1") + { + $("#okId" ).val("1"); + facturer_monture(); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + facturer_monture(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id =$("#user_id_C").val(); + finger_id =$("#finger_id_C").val(); + + $("#facturation").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&facturation=1"; + + load("flexcode/user.php?"+data); + } + } +} + +function maj_monture_temp_monture(idOptique, monture) +{ + numeroFacture=$("#numeroFacture").val(); + + donnees = 'idOptique='+idOptique+"&monture="+monture+"&numeroFacture="+numeroFacture; + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmonture/majmonture/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_monture").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + } + }); +} + +function facturer_monture() +{ + numeroFacture=$("#numeroFacture").val(); + + if (numeroFacture<=" ") + { + v_msg="Veuillez saisir le No de la facture !"; + v_msgEng="Please enter the Invoice No!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroFacture").focus(); + + return; + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + montantTm = $("#montantTm").val(); + cout = $("#cout").val(); + + donnees = 'prixActe='+prixActe; + donnees += '&montantTm='+montantTm; + donnees += '&cout='+cout; + donnees += '&numeroFacture='+numeroFacture; + + + // numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + codePrestataire = $("#codePrestataire_C").val(); + + donnees_sav = 'codePrestataire='+codePrestataire+'&typeMail=mailoptique'; + + typeSms = "facturer_opt"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmonture/enregistrermonture/", + type: 'POST', + data: donnees, + success: function(data) { + // suspension provisoire Vivien 20/03/20118 + // preparesms(typeSms); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + // mettremailattente(donnees_sav); + + window.location.assign($("#racineWeb" ).val()+"Fichebeneficiaire/"); + + v_msg="Facturation effectuée avec succès!"; + v_msgEng="Successful billing!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }); +} + + +function requetes_prestaire() +{ + window.location.assign($("#racineWeb" ).val()+"Requetes/"); +} + +function ajaxenteterequete() +{ + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + donnees = 'codeRequete='+codeRequete; + + v_url = $("#racineWeb").val()+"Ajaxrequeteentete"+codeRequete+"/"; + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_ente_requete").html(data); + $(".datepicker" ).datepicker(); + } + }); +} + +function requetes_feuilles_maladie() +{ + $('#div_export_a').html(""); + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + dateConsultation1 = $("#dateConsultation1").val(); + dateConsultation2 = $("#dateConsultation2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + codeMedecin = $("#codeMedecin").val(); + + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val(); + numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val(); + + numeroBonHospitalisation1 = $("#numeroBonHospitalisation1").val(); + numeroBonHospitalisation2 = $("#numeroBonHospitalisation2").val(); + + numeroBonOptique1 = $("#numeroBonOptique1").val(); + numeroBonOptique2 = $("#numeroBonOptique2").val(); + + // Ligne 3 + codeTypePrestataire = $("#codeTypePrestataire").val(); + numeroDecompte1 = $("#numeroDecompte1").val(); + numeroDecompte2 = $("#numeroDecompte2").val(); + codeRaisonConsultation = $("#codeRaisonConsultation").val(); + hospitalisation = $("#hospitalisation").val(); + numeroChambre = $("#numeroChambre").val(); + chirurgie = $("#chirurgie").val(); + facture = $("#facture").val(); + + // Ligne 4 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1); + numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2); + + numeroBonOptique1 = convertir_en_entier(numeroBonOptique1); + numeroBonOptique2 = convertir_en_entier(numeroBonOptique2); + + numeroBonHospitalisation1 = convertir_en_entier(numeroBonHospitalisation1); + numeroBonHospitalisation2 = convertir_en_entier(numeroBonHospitalisation2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&dateConsultation1=' + dateConsultation1; + donnees += '&dateConsultation2=' + dateConsultation2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&codeMedecin=' + codeMedecin; + + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1; + donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2; + + donnees += '&numeroBonHospitalisation1=' + numeroBonHospitalisation1; + donnees += '&numeroBonHospitalisation2=' + numeroBonHospitalisation2; + + donnees += '&numeroBonOptique1=' + numeroBonOptique1; + donnees += '&numeroBonOptique2=' + numeroBonOptique2; + + // Ligne 3 + donnees += '&codeTypePrestataire=' + codeTypePrestataire; + + donnees += '&numeroDecompte1=' + numeroDecompte1; + donnees += '&numeroDecompte2=' + numeroDecompte2; + + donnees += '&codeRaisonConsultation=' + codeRaisonConsultation; + donnees += '&hospitalisation=' + hospitalisation; + donnees += '&numeroChambre=' + numeroChambre; + donnees += '&chirurgie=' + chirurgie; + donnees += '&facture=' + facture; + + // Ligne 4 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // alert(donnees); + // return; + + $("#div_detail_requete").html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + //$("#div_detail_requete").html(data); + }, + complete: function() { + $("#div_detail_requete").html(donnees_retour); + $("#nbligne").val("Result : "+$("#nbligne_info").val()); + } + }); +} + +function requetes_feuilles_maladie_export() +{ + $('#div_detail_requete').html(''); + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + dateConsultation1 = $("#dateConsultation1").val(); + dateConsultation2 = $("#dateConsultation2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + codeMedecin = $("#codeMedecin").val(); + + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val(); + numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val(); + + numeroBonHospitalisation1 = $("#numeroBonHospitalisation1").val(); + numeroBonHospitalisation2 = $("#numeroBonHospitalisation2").val(); + + numeroBonOptique1 = $("#numeroBonOptique1").val(); + numeroBonOptique2 = $("#numeroBonOptique2").val(); + + // Ligne 3 + codeTypePrestataire = $("#codeTypePrestataire").val(); + numeroDecompte1 = $("#numeroDecompte1").val(); + numeroDecompte2 = $("#numeroDecompte2").val(); + codeRaisonConsultation = $("#codeRaisonConsultation").val(); + hospitalisation = $("#hospitalisation").val(); + numeroChambre = $("#numeroChambre").val(); + chirurgie = $("#chirurgie").val(); + facture = $("#facture").val(); + + // Ligne 4 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1); + numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2); + + numeroBonOptique1 = convertir_en_entier(numeroBonOptique1); + numeroBonOptique2 = convertir_en_entier(numeroBonOptique2); + + numeroBonHospitalisation1 = convertir_en_entier(numeroBonHospitalisation1); + numeroBonHospitalisation2 = convertir_en_entier(numeroBonHospitalisation2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&dateConsultation1=' + dateConsultation1; + donnees += '&dateConsultation2=' + dateConsultation2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&codeMedecin=' + codeMedecin; + + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1; + donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2; + + donnees += '&numeroBonHospitalisation1=' + numeroBonHospitalisation1; + donnees += '&numeroBonHospitalisation2=' + numeroBonHospitalisation2; + + donnees += '&numeroBonOptique1=' + numeroBonOptique1; + donnees += '&numeroBonOptique2=' + numeroBonOptique2; + + // Ligne 3 + donnees += '&codeTypePrestataire=' + codeTypePrestataire; + + donnees += '&numeroDecompte1=' + numeroDecompte1; + donnees += '&numeroDecompte2=' + numeroDecompte2; + + donnees += '&codeRaisonConsultation=' + codeRaisonConsultation; + donnees += '&hospitalisation=' + hospitalisation; + donnees += '&numeroChambre=' + numeroChambre; + donnees += '&chirurgie=' + chirurgie; + donnees += '&facture=' + facture; + + // Ligne 4 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + var div_export = $('#div_detail_requete'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + // $('#div_detail_requete').html(""); + // $('#div_export_a').html(data); + }, + complete: function() { + $('#div_detail_requete').html(""); + $('#div_export_a').html(donnees_retour); + } + }); +} + + +function selectionner_medecin_requete(codeMedecin, nomMedecin, noOrdreMedecin) +{ + $("#codeMedecin").val(codeMedecin); + $("#nomMedecin").html(nomMedecin+" ( "+noOrdreMedecin+" )"); + $("#close_pop").click(); +} + +function afficher_pop_recherche_medecin_requete() +{ + + noOrdreMedecin = $("#noOrdreMedecin").val(); + nomsearch = $("#nomsearch").val(); + + if(noOrdreMedecin+nomsearch<=" ") + return; + + donnees = "valid=1&noOrdreMedecin="+noOrdreMedecin+"&nomsearch="+nomsearch; + + $("#div_listemedecins").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistemedecinsrequete/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_listemedecins").html(data); + } + }); +} + +function ctrlkeypress_medecin_requete(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_medecin_requete(); + } +} + +function reinitialiser_medecin() +{ + $("#codeMedecin").val(""); + $("#nomMedecin").html("Rechercher Médecin..."); + $("#close_pop").click(); +} + +function requetes_factures() +{ + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + dateFacture1 = $("#dateFacture1").val(); + dateFacture2 = $("#dateFacture2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val(); + numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val(); + + numeroBonHospitalisation1 = $("#numeroBonHospitalisation1").val(); + numeroBonHospitalisation2 = $("#numeroBonHospitalisation2").val(); + + numeroBonOptique1 = $("#numeroBonOptique1").val(); + numeroBonOptique2 = $("#numeroBonOptique2").val(); + + // Ligne 3 + codeTypePrestataire = $("#codeTypePrestataire").val(); + numeroDecompte1 = $("#numeroDecompte1").val(); + numeroDecompte2 = $("#numeroDecompte2").val(); + hospitalisation = $("#hospitalisation").val(); + numeroChambre = $("#numeroChambre").val(); + chirurgie = $("#chirurgie").val(); + + // Ligne 4 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1); + numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2); + + numeroBonOptique1 = convertir_en_entier(numeroBonOptique1); + numeroBonOptique2 = convertir_en_entier(numeroBonOptique2); + + numeroBonHospitalisation1 = convertir_en_entier(numeroBonHospitalisation1); + numeroBonHospitalisation2 = convertir_en_entier(numeroBonHospitalisation2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&dateFacture1=' + dateFacture1; + donnees += '&dateFacture2=' + dateFacture2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1; + donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2; + + donnees += '&numeroBonHospitalisation1=' + numeroBonHospitalisation1; + donnees += '&numeroBonHospitalisation2=' + numeroBonHospitalisation2; + + donnees += '&numeroBonOptique1=' + numeroBonOptique1; + donnees += '&numeroBonOptique2=' + numeroBonOptique2; + + // Ligne 3 + donnees += '&codeTypePrestataire=' + codeTypePrestataire; + + donnees += '&numeroDecompte1=' + numeroDecompte1; + donnees += '&numeroDecompte2=' + numeroDecompte2; + + donnees += '&hospitalisation=' + hospitalisation; + donnees += '&numeroChambre=' + numeroChambre; + donnees += '&chirurgie=' + chirurgie; + + // Ligne 4 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // alert(donnees); + // return; + + $("#div_detail_requete").html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + //$("#div_detail_requete").html(data); + }, + complete: function() { + $("#div_detail_requete").html(donnees_retour); + $("#nbligne").val("Result : "+$("#nbligne_info").val()); + } + }); +} + + +function requetes_factures_export() +{ + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + dateFacture1 = $("#dateFacture1").val(); + dateFacture2 = $("#dateFacture2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val(); + numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val(); + + numeroBonHospitalisation1 = $("#numeroBonHospitalisation1").val(); + numeroBonHospitalisation2 = $("#numeroBonHospitalisation2").val(); + + numeroBonOptique1 = $("#numeroBonOptique1").val(); + numeroBonOptique2 = $("#numeroBonOptique2").val(); + + // Ligne 3 + codeTypePrestataire = $("#codeTypePrestataire").val(); + numeroDecompte1 = $("#numeroDecompte1").val(); + numeroDecompte2 = $("#numeroDecompte2").val(); + hospitalisation = $("#hospitalisation").val(); + numeroChambre = $("#numeroChambre").val(); + chirurgie = $("#chirurgie").val(); + + // Ligne 4 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1); + numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2); + + numeroBonOptique1 = convertir_en_entier(numeroBonOptique1); + numeroBonOptique2 = convertir_en_entier(numeroBonOptique2); + + numeroBonHospitalisation1 = convertir_en_entier(numeroBonHospitalisation1); + numeroBonHospitalisation2 = convertir_en_entier(numeroBonHospitalisation2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&dateFacture1=' + dateFacture1; + donnees += '&dateFacture2=' + dateFacture2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1; + donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2; + + donnees += '&numeroBonHospitalisation1=' + numeroBonHospitalisation1; + donnees += '&numeroBonHospitalisation2=' + numeroBonHospitalisation2; + + donnees += '&numeroBonOptique1=' + numeroBonOptique1; + donnees += '&numeroBonOptique2=' + numeroBonOptique2; + + // Ligne 3 + donnees += '&codeTypePrestataire=' + codeTypePrestataire; + + donnees += '&numeroDecompte1=' + numeroDecompte1; + donnees += '&numeroDecompte2=' + numeroDecompte2; + + donnees += '&hospitalisation=' + hospitalisation; + donnees += '&numeroChambre=' + numeroChambre; + donnees += '&chirurgie=' + chirurgie; + + // Ligne 4 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // alert(donnees); + // return; + + var div_export = $('#div_detail_requete'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + // $('#div_detail_requete').html(""); + // $('#div_export_a').html(data); + }, + complete: function() { + $('#div_detail_requete').html(""); + $('#div_export_a').html(donnees_retour); + } + }); +} + +function requetes_bonpoec() +{ + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + codeTypeBon = $("#codeTypeBon").val(); + codeEtatBon = $("#codeEtatBon").val(); + + // Ligne 2 + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + numeroBon1 = $("#numeroBon1").val(); + numeroBon2 = $("#numeroBon2").val(); + + // Ligne 4 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBon1 = convertir_en_entier(numeroBon1); + numeroBon2 = convertir_en_entier(numeroBon2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&codeTypeBon=' + codeTypeBon; + donnees += '&codeEtatBon=' + codeEtatBon; + + // Ligne 2 + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + donnees += '&numeroBon1=' + numeroBon1; + donnees += '&numeroBon2=' + numeroBon2; + + // Ligne 4 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + $("#div_detail_requete").html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + //$("#div_detail_requete").html(data); + }, + complete: function() { + $("#div_detail_requete").html(donnees_retour); + $("#nbligne").val("Result : "+$("#nbligne_info").val()); + } + }); +} + +function requetes_bonpoec_export() +{ + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + codeTypeBon = $("#codeTypeBon").val(); + codeEtatBon = $("#codeEtatBon").val(); + + // Ligne 2 + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + numeroBon1 = $("#numeroBon1").val(); + numeroBon2 = $("#numeroBon2").val(); + + // Ligne 3 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBon1 = convertir_en_entier(numeroBon1); + numeroBon2 = convertir_en_entier(numeroBon2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&codeTypeBon=' + codeTypeBon; + donnees += '&codeEtatBon=' + codeEtatBon; + + // Ligne 2 + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + donnees += '&numeroBon1=' + numeroBon1; + donnees += '&numeroBon2=' + numeroBon2; + + // Ligne 3 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // alert(donnees); + // alert(v_url+" / "+codeRequete); + // return; + + var div_export = $('#div_detail_requete'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + // $('#div_detail_requete').html(""); + // $('#div_export_a').html(data); + }, + complete: function() { + $('#div_detail_requete').html(""); + $('#div_export_a').html(donnees_retour); + } + }); +} + + +function requetes_prestationactes() +{ + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + datePrestation1 = $("#datePrestation1").val(); + datePrestation2 = $("#datePrestation2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + codeMedecin = $("#codeMedecin").val(); + + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val(); + numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val(); + + numeroBonHospitalisation1 = $("#numeroBonHospitalisation1").val(); + numeroBonHospitalisation2 = $("#numeroBonHospitalisation2").val(); + + numeroBonOptique1 = $("#numeroBonOptique1").val(); + numeroBonOptique2 = $("#numeroBonOptique2").val(); + + // Ligne 3 + codeTypePrestataire = $("#codeTypePrestataire").val(); + numeroFeuilleMaladie1 = $("#numeroFeuilleMaladie1").val(); + numeroFeuilleMaladie2 = $("#numeroFeuilleMaladie2").val(); + codeTypePrestation = $("#codeTypePrestation").val(); + ententePrealable = $("#ententePrealable").val(); + numeroChambre = $("#numeroChambre").val(); + facture = $("#facture").val(); + + // Ligne 4 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // Ligne 5 + libelleActe = $("#libelleActe").val(); + libelleFamilleActe = $("#libelleFamilleActe").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1); + numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2); + + numeroBonOptique1 = convertir_en_entier(numeroBonOptique1); + numeroBonOptique2 = convertir_en_entier(numeroBonOptique2); + + numeroBonHospitalisation1 = convertir_en_entier(numeroBonHospitalisation1); + numeroBonHospitalisation2 = convertir_en_entier(numeroBonHospitalisation2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&datePrestation1=' + datePrestation1; + donnees += '&datePrestation2=' + datePrestation2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&codeMedecin=' + codeMedecin; + + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1; + donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2; + + donnees += '&numeroBonHospitalisation1=' + numeroBonHospitalisation1; + donnees += '&numeroBonHospitalisation2=' + numeroBonHospitalisation2; + + donnees += '&numeroBonOptique1=' + numeroBonOptique1; + donnees += '&numeroBonOptique2=' + numeroBonOptique2; + + // Ligne 3 + donnees += '&codeTypePrestataire=' + codeTypePrestataire; + + donnees += '&numeroFeuilleMaladie1=' + numeroFeuilleMaladie1; + donnees += '&numeroFeuilleMaladie2=' + numeroFeuilleMaladie2; + + donnees += '&codeTypePrestation=' + codeTypePrestation; + donnees += '&ententePrealable=' + ententePrealable; + donnees += '&numeroChambre=' + numeroChambre; + donnees += '&facture=' + facture; + + // Ligne 4 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // Ligne 5 + donnees += '&libelleActe=' + libelleActe; + donnees += '&libelleFamilleActe=' + libelleFamilleActe; + + // alert(donnees); + // return; + + $("#div_detail_requete").html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + //$("#div_detail_requete").html(data); + }, + complete: function() { + $("#div_detail_requete").html(donnees_retour); + $("#nbligne").val("Result : "+$("#nbligne_info").val()); + } + }); +} + +function requetes_prestationactes_export() +{ + $('#div_detail_requete').html(''); + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + datePrestation1 = $("#datePrestation1").val(); + datePrestation2 = $("#datePrestation2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + codeMedecin = $("#codeMedecin").val(); + + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val(); + numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val(); + + numeroBonHospitalisation1 = $("#numeroBonHospitalisation1").val(); + numeroBonHospitalisation2 = $("#numeroBonHospitalisation2").val(); + + numeroBonOptique1 = $("#numeroBonOptique1").val(); + numeroBonOptique2 = $("#numeroBonOptique2").val(); + + // Ligne 3 + codeTypePrestataire = $("#codeTypePrestataire").val(); + numeroFeuilleMaladie1 = $("#numeroFeuilleMaladie1").val(); + numeroFeuilleMaladie2 = $("#numeroFeuilleMaladie2").val(); + codeTypePrestation = $("#codeTypePrestation").val(); + ententePrealable = $("#ententePrealable").val(); + numeroChambre = $("#numeroChambre").val(); + facture = $("#facture").val(); + + // Ligne 4 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // Ligne 5 + libelleActe = $("#libelleActe").val(); + libelleFamilleActe = $("#libelleFamilleActe").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1); + numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2); + + numeroBonOptique1 = convertir_en_entier(numeroBonOptique1); + numeroBonOptique2 = convertir_en_entier(numeroBonOptique2); + + numeroBonHospitalisation1 = convertir_en_entier(numeroBonHospitalisation1); + numeroBonHospitalisation2 = convertir_en_entier(numeroBonHospitalisation2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&datePrestation1=' + datePrestation1; + donnees += '&datePrestation2=' + datePrestation2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&codeMedecin=' + codeMedecin; + + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1; + donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2; + + donnees += '&numeroBonHospitalisation1=' + numeroBonHospitalisation1; + donnees += '&numeroBonHospitalisation2=' + numeroBonHospitalisation2; + + donnees += '&numeroBonOptique1=' + numeroBonOptique1; + donnees += '&numeroBonOptique2=' + numeroBonOptique2; + + // Ligne 3 + donnees += '&codeTypePrestataire=' + codeTypePrestataire; + + donnees += '&numeroFeuilleMaladie1=' + numeroFeuilleMaladie1; + donnees += '&numeroFeuilleMaladie2=' + numeroFeuilleMaladie2; + + donnees += '&codeTypePrestation=' + codeTypePrestation; + donnees += '&ententePrealable=' + ententePrealable; + donnees += '&numeroChambre=' + numeroChambre; + donnees += '&facture=' + facture; + + // Ligne 4 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // Ligne 5 + donnees += '&libelleActe=' + libelleActe; + donnees += '&libelleFamilleActe=' + libelleFamilleActe; + + var div_export = $('#div_detail_requete'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + // $('#div_detail_requete').html(""); + // $('#div_export_a').html(data); + }, + complete: function() { + $('#div_detail_requete').html(""); + $('#div_export_a').html(donnees_retour); + } + }); +} + +function requetes_pharmacie() +{ + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + dateLivraison1 = $("#dateLivraison1").val(); + dateLivraison2 = $("#dateLivraison2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + codeMedecin = $("#codeMedecin").val(); + + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val(); + numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val(); + + numeroFeuilleMaladie1 = $("#numeroFeuilleMaladie1").val(); + numeroFeuilleMaladie2 = $("#numeroFeuilleMaladie2").val(); + + codePrestatairePrescription = $("#codePrestatairePrescription").val(); + + // Ligne 3 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // Ligne 4 + libelleMedicament = $("#libelleMedicament").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1); + numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2); + + numeroFeuilleMaladie1 = convertir_en_entier(numeroFeuilleMaladie1); + numeroFeuilleMaladie2 = convertir_en_entier(numeroFeuilleMaladie2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&dateLivraison1=' + dateLivraison1; + donnees += '&dateLivraison2=' + dateLivraison2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&codeMedecin=' + codeMedecin; + + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1; + donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2; + + donnees += '&numeroFeuilleMaladie1=' + numeroFeuilleMaladie1; + donnees += '&numeroFeuilleMaladie2=' + numeroFeuilleMaladie2; + + donnees += '&codePrestatairePrescription=' + codePrestatairePrescription; + + // Ligne 3 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // Ligne 4 + donnees += '&libelleMedicament=' + libelleMedicament; + + // alert(donnees); + // return; + + $("#div_detail_requete").html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + //$("#div_detail_requete").html(data); + }, + complete: function() { + $("#div_detail_requete").html(donnees_retour); + $("#nbligne").val("Result : "+$("#nbligne_info").val()); + } + }); +} + +function requetes_pharmacie_export() +{ + $('#div_detail_requete').html(''); + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + dateLivraison1 = $("#dateLivraison1").val(); + dateLivraison2 = $("#dateLivraison2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + codeMedecin = $("#codeMedecin").val(); + + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val(); + numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val(); + + numeroFeuilleMaladie1 = $("#numeroFeuilleMaladie1").val(); + numeroFeuilleMaladie2 = $("#numeroFeuilleMaladie2").val(); + + codePrestatairePrescription = $("#codePrestatairePrescription").val(); + + // Ligne 3 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // Ligne 4 + libelleMedicament = $("#libelleMedicament").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1); + numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2); + + numeroFeuilleMaladie1 = convertir_en_entier(numeroFeuilleMaladie1); + numeroFeuilleMaladie2 = convertir_en_entier(numeroFeuilleMaladie2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&dateLivraison1=' + dateLivraison1; + donnees += '&dateLivraison2=' + dateLivraison2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&codeMedecin=' + codeMedecin; + + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1; + donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2; + + donnees += '&numeroFeuilleMaladie1=' + numeroFeuilleMaladie1; + donnees += '&numeroFeuilleMaladie2=' + numeroFeuilleMaladie2; + + donnees += '&codePrestatairePrescription=' + codePrestatairePrescription; + + // Ligne 3 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // Ligne 4 + donnees += '&libelleMedicament=' + libelleMedicament; + + var div_export = $('#div_detail_requete'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + // $('#div_detail_requete').html(""); + // $('#div_export_a').html(data); + }, + complete: function() { + $('#div_detail_requete').html(""); + $('#div_export_a').html(donnees_retour); + } + }); +} + +function requetes_optique() +{ + $('#div_export').html(""); + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + dateLivraison1 = $("#dateLivraison1").val(); + dateLivraison2 = $("#dateLivraison2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + codeMedecin = $("#codeMedecin").val(); + + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOptique1 = $("#numeroBonOptique1").val(); + numeroBonOptique2 = $("#numeroBonOptique2").val(); + + numeroFeuilleMaladie1 = $("#numeroFeuilleMaladie1").val(); + numeroFeuilleMaladie2 = $("#numeroFeuilleMaladie2").val(); + + + codePrestatairePrescription = $("#codePrestatairePrescription").val(); + + // Ligne 3 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // Ligne 4 + libelleOptique = $("#libelleOptique").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOptique1 = convertir_en_entier(numeroBonOptique1); + numeroBonOptique2 = convertir_en_entier(numeroBonOptique2); + + numeroFeuilleMaladie1 = convertir_en_entier(numeroFeuilleMaladie1); + numeroFeuilleMaladie2 = convertir_en_entier(numeroFeuilleMaladie2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&dateLivraison1=' + dateLivraison1; + donnees += '&dateLivraison2=' + dateLivraison2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&codeMedecin=' + codeMedecin; + + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOptique1=' + numeroBonOptique1; + donnees += '&numeroBonOptique2=' + numeroBonOptique2; + + donnees += '&numeroFeuilleMaladie1=' + numeroFeuilleMaladie1; + donnees += '&numeroFeuilleMaladie2=' + numeroFeuilleMaladie2; + + donnees += '&codePrestatairePrescription=' + codePrestatairePrescription; + + // Ligne 3 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // Ligne 4 + donnees += '&libelleOptique=' + libelleOptique; + + // alert(donnees); + // return; + + $("#div_detail_requete").html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + //$("#div_detail_requete").html(data); + }, + complete: function() { + $("#div_detail_requete").html(donnees_retour); + $("#nbligne").val("Result : "+$("#nbligne_info").val()); + } + }); +} + +function requetes_optique_export() +{ + $('#div_detail_requete').html(''); + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + dateLivraison1 = $("#dateLivraison1").val(); + dateLivraison2 = $("#dateLivraison2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + codeMedecin = $("#codeMedecin").val(); + + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOptique1 = $("#numeroBonOptique1").val(); + numeroBonOptique2 = $("#numeroBonOptique2").val(); + + numeroFeuilleMaladie1 = $("#numeroFeuilleMaladie1").val(); + numeroFeuilleMaladie2 = $("#numeroFeuilleMaladie2").val(); + + codePrestatairePrescription = $("#codePrestatairePrescription").val(); + + // Ligne 3 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // Ligne 4 + libelleOptique = $("#libelleOptique").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOptique1 = convertir_en_entier(numeroBonOptique1); + numeroBonOptique2 = convertir_en_entier(numeroBonOptique2); + + numeroFeuilleMaladie1 = convertir_en_entier(numeroFeuilleMaladie1); + numeroFeuilleMaladie2 = convertir_en_entier(numeroFeuilleMaladie2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&dateLivraison1=' + dateLivraison1; + donnees += '&dateLivraison2=' + dateLivraison2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&codeMedecin=' + codeMedecin; + + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOptique1=' + numeroBonOptique1; + donnees += '&numeroBonOptique2=' + numeroBonOptique2; + + donnees += '&numeroFeuilleMaladie1=' + numeroFeuilleMaladie1; + donnees += '&numeroFeuilleMaladie2=' + numeroFeuilleMaladie2; + + donnees += '&codePrestatairePrescription=' + codePrestatairePrescription; + + // Ligne 3 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // Ligne 4 + donnees += '&libelleOptique=' + libelleOptique; + + var div_export = $('#div_detail_requete'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + // $('#div_detail_requete').html(""); + // $('#div_export_a').html(data); + }, + complete: function() { + $('#div_detail_requete').html(""); + $('#div_export_a').html(donnees_retour); + } + }); +} + + +function requetes_assure() +{ + $('#div_export').html(""); + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/"; + + // Ligne 1 + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // Ligne 2 + numeroPolice = $("#numeroPolice").val(); + codeProduit = $("#codeProduit").val(); + codeEtatPolice = $("#codeEtatPolice").val(); + codeLienParente = $("#codeLienParente").val(); + codeEtatBeneficiaire = $("#codeEtatBeneficiaire").val(); + sexe = $("#sexe").val(); + + // Ligne 3 + numeroClient1 = $("#numeroClient1").val(); + numeroClient2 = $("#numeroClient2").val(); + telephonePortableAdherent = $("#telephonePortableAdherent").val(); + emailAdherent = $("#emailAdherent").val(); + decede = $("#decede").val(); + nomClient = $("#nomClient").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroClient1 = convertir_en_entier(numeroClient1); + numeroClient2 = convertir_en_entier(numeroClient2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // Ligne 2 + donnees += '&numeroPolice=' + numeroPolice; + donnees += '&codeProduit=' + codeProduit; + donnees += '&codeEtatPolice=' + codeEtatPolice; + donnees += '&codeLienParente=' + codeLienParente; + donnees += '&codeEtatBeneficiaire=' + codeEtatBeneficiaire; + donnees += '&sexe=' + sexe; + + // Ligne 3 + donnees += '&numeroClient1=' + numeroClient1; + donnees += '&numeroClient2=' + numeroClient2; + donnees += '&telephonePortableAdherent=' + telephonePortableAdherent; + donnees += '&emailAdherent=' + emailAdherent; + donnees += '&decede=' + decede; + donnees += '&nomClient=' + nomClient; + + // alert(donnees); + // return; + + $("#div_detail_requete").html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + //$("#div_detail_requete").html(data); + }, + complete: function() { + $("#div_detail_requete").html(donnees_retour); + $("#nbligne").val("Result : "+$("#nbligne_info").val()); + } + }); +} + +function requetes_assure_export() +{ + $('#div_detail_requete').html(''); + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/"; + + // Ligne 1 + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // Ligne 2 + numeroPolice = $("#numeroPolice").val(); + codeProduit = $("#codeProduit").val(); + codeEtatPolice = $("#codeEtatPolice").val(); + codeLienParente = $("#codeLienParente").val(); + codeEtatBeneficiaire = $("#codeEtatBeneficiaire").val(); + sexe = $("#sexe").val(); + + // Ligne 3 + numeroClient1 = $("#numeroClient1").val(); + numeroClient2 = $("#numeroClient2").val(); + telephonePortableAdherent = $("#telephonePortableAdherent").val(); + emailAdherent = $("#emailAdherent").val(); + decede = $("#decede").val(); + nomClient = $("#nomClient").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroClient1 = convertir_en_entier(numeroClient1); + numeroClient2 = convertir_en_entier(numeroClient2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // Ligne 2 + donnees += '&numeroPolice=' + numeroPolice; + donnees += '&codeProduit=' + codeProduit; + donnees += '&codeEtatPolice=' + codeEtatPolice; + donnees += '&codeLienParente=' + codeLienParente; + donnees += '&codeEtatBeneficiaire=' + codeEtatBeneficiaire; + donnees += '&sexe=' + sexe; + + // Ligne 3 + donnees += '&numeroClient1=' + numeroClient1; + donnees += '&numeroClient2=' + numeroClient2; + donnees += '&telephonePortableAdherent=' + telephonePortableAdherent; + donnees += '&emailAdherent=' + emailAdherent; + donnees += '&decede=' + decede; + donnees += '&nomClient=' + nomClient; + + var div_export = $('#div_detail_requete'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + // $('#div_detail_requete').html(""); + // $('#div_export_a').html(data); + }, + complete: function() { + $('#div_detail_requete').html(""); + $('#div_export_a').html(donnees_retour); + } + }); +} + +function convertir_en_entier(valeur) +{ + if(isNaN(valeur)) + { + valeur = "0"; + } + + if (valeur=="") + { + valeur="0"; + } + + valeur = parseInt(valeur); + + return valeur; +} + +function selectionactesmedicaux() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Selectactesmedicaux/"); +} + +function ajaxactespossibles_selection() +{ + codeFamilleActe=$("#codeFamilleActe").val(); + + donnees = 'codeFamilleActe='+codeFamilleActe; + + $("#listeacte").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxactespossiblesselection/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listeacte").html(data); + }, + complete: function() { + } + }); +} + +function ajouter_un_acte_selection(codeActe, prixActe, montantTm, aRembourser, ententePrealable) +{ + donnee_a_affciher = ""; + + codeFamilleActe=$("#codeFamilleActe").val(); + + donnees="" + donnees_sav=""; + + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#nomMedecin").focus(); + return; + } + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + if(prixActe==0) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cet acte ?"; + v_msgEng="Do you confirm this act ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + // if (confirm(v_msg)) + // { + if(ententePrealable==1) + { + ententePrealable = "2"; + } + + donnees = 'codeFamilleActe='+codeFamilleActe+'&codeActe='+codeActe+'&codeMedecin='+codeMedecin+'&ententePrealable='+ententePrealable; + donnees += '&prixActe='+prixActe+'&montantTm='+montantTm+'&aRembourser='+aRembourser; + + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val(); + + donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable'; + // donnees_sav2 = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailautorisation'; + + typeSms="ententeprealable"; + // typeSms2="autorisation"; + + // alert(donnees); + + $("#listeacte").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxselectactesmedicaux/enregistreractemedical/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + maj_fraisexclu_cso(); + + if(ententePrealable=="2") + { + preparesms(typeSms); + + v_msg="Demande accord prealable envoyée !"; + v_msgEng="Request prior agreement sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + donnee_a_affciher = data; + }, + complete: function() { + if(ententePrealable=="2") + { + mettremailattente(donnees_sav); + } + $("#totam_donnees").html(donnee_a_affciher); + } + }); + // } +} + +function supprimer_acte_medical_selection(idPrestationactes, codeTypePrestation) +{ + donnee_a_affciher = ""; + + /* + v_msg="Confirmez-vous la suppression de cet acte ?"; + v_msgEng="Do you confirm the removal of this act ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + */ + codeFamilleActe=$("#codeFamilleActe").val(); + + donnees = 'codeFamilleActe='+codeFamilleActe+'&idPrestationactes='+idPrestationactes+'&codeTypePrestation='+codeTypePrestation; + + // alert(donnees); + // return; + + $("#listeacte").html('
' + '' + '
'); + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxselectactesmedicaux/supprimeracte/", + type: 'POST', + data: donnees, + success: function(data) { + donnee_a_affciher = data; + // maj_fraisexclu_cso(); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + $("#totam_donnees").html(donnee_a_affciher); + } + }); + // } +} + +function valider_selection_acte() +{ + v_msg="Confirmez-vous cette saisie?"; + v_msgEng="Do you confirm this situation ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + feuillemaladie(); + } +} + + +function ajax_maj_qte_acte(idPrestationactes, quantite, controle) +{ + quantite=quantite.replace(",","."); + controle.value=quantite; + + if(controle_numerique(controle)) + { + if(quantite==0) + { + controle.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idPrestationactes='+idPrestationactes+"&quantite="+quantite; + + // alert(donnees); + // return; + + donnee_a_affciher = ""; + + donnees = 'idPrestationactes='+idPrestationactes+"&quantite="+quantite;; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxactesmedicauxselect/majquantite/", + type: 'POST', + data: donnees, + success: function(data) { + donnee_a_affciher = data; + }, + error: function(data) { + //alert(data); + }, + complete: function() { + $("#div_prestations").html(donnee_a_affciher); + controle.focus(); + } + }); + } +} + + +function selectionner_acte_possibles_select(codeFamilleActe, codeActe, familleActe, libelleActe) +{ + if(libelleActe<=" ") + return; + + $("#codeFamilleActe").val(codeFamilleActe); + $("#libelleActe").val(libelleActe); + + ajaxactespossibles_selection(); + + $("#close_pop_acte").click(); +} + +function afficher_pop_recherche_actes_possibles_select() +{ + libelleActeSearch = $("#libelleActeSearch").val(); + + if(libelleActeSearch<=" ") + { + return; + } + + donnees = "valid=1&libelleActeSearch="+libelleActeSearch; + + $("#div_liste_actes_possibles").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteactespossiblesselect/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_liste_actes_possibles").html(data); + } + }); +} + +function ctrlkeypress_actes_possibles_select(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_actes_possibles_select(); + } +} + +function selectionexamens() +{ + window.location.assign($("#racineWeb" ).val()+"Selectexaemens/"); +} + +function ajaxexamenpossibles_selection() +{ + codeFamilleActe=$("#codeFamilleActe").val(); + + donnees = 'codeFamilleActe='+codeFamilleActe; + + $("#listeacte").html('
' + '' + '
'); + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxexamenspossiblesselection/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listeacte").html(data); + }, + complete: function() { + } + }); +} + +function ajouter_un_examen_selection(codeActe, prixActe, montantTm, aRembourser, ententePrealable) +{ + donnee_a_affciher = ""; + + codeFamilleActe=$("#codeFamilleActe").val(); + + donnees="" + donnees_sav=""; + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + if(prixActe==0) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + if(ententePrealable==1) + { + ententePrealable = "2"; + } + + donnees = 'codeFamilleActe='+codeFamilleActe+'&codeActe='+codeActe+'&ententePrealable='+ententePrealable; + donnees += '&prixActe='+prixActe+'&montantTm='+montantTm+'&aRembourser='+aRembourser; + + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val(); + + donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable'; + + typeSms="ententeprealable"; + + // alert(donnees); + // return; + + $("#listeacte").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxselectexamens/ajouterexamenprescription/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // maj_fraisexclu_cso(); + + if(ententePrealable=="2") + { + preparesms(typeSms); + + v_msg="Demande accord prealable envoyée !"; + v_msgEng="Request prior agreement sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + donnee_a_affciher = data; + }, + complete: function() { + if(ententePrealable=="2") + { + mettremailattente(donnees_sav); + } + $("#totam_donnees").html(donnee_a_affciher); + } + }); +} + +function retirerexamen_lab_selection(idExamen) +{ + + donnee_a_affciher = ""; + + codeFamilleActe=$("#codeFamilleActe").val(); + + donnees = 'codeFamilleActe='+codeFamilleActe+'&idExamen='+idExamen; + + $("#listeacte").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxselectexamens/retirerexamen/", + type: 'POST', + data: donnees, + success: function(data) { + donnee_a_affciher = data; + alerter_depassement_limite(); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + $("#totam_donnees").html(donnee_a_affciher); + } + }); +} + +function valider_selection_examen() +{ + v_msg="Confirmez-vous cette saisie?"; + v_msgEng="Do you confirm this situation ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + afficher_laboratoire_cso(); + } +} + +function selectionexamens_lab() +{ + window.location.assign($("#racineWeb" ).val()+"Selectexaemenslab/"); +} + +function valider_selection_examen_lab() +{ + v_msg="Confirmez-vous cette saisie?"; + v_msgEng="Do you confirm this situation ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + actualiser_laboratoire(); + } +} + +function afficher_examensmedicaux() +{ + window.location.assign($("#racineWeb" ).val()+"Examensmedicaux/"); +} + +function selectionexamens_cso() +{ + window.location.assign($("#racineWeb" ).val()+"Selectexaemenscso/"); +} + +function valider_selection_examen_cso() +{ + v_msg="Confirmez-vous cette saisie?"; + v_msgEng="Do you confirm this situation ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + afficher_examensmedicaux(); + } +} + +function no_presciption() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + numOrd = $("#numOrd").val(); + noPrescription = $("#noPrescription").val(); + + if (numOrd==0 && noPrescription==0) + { + v_msg="Confirmez-vous qu\'il n\'y a pas de prescription de médicaments?"; + v_msgEng="Do you confirm that there are no prescription drugs?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerprescription/noprescription/", + type : 'post', + // data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + }, + complete: function() { + feuillemaladie(); + } + }); + } + } +} + +function prescrire_verre_opt() +{ +// Ajout à la prescription + /* + nbActesVerres = $("#nbActesVerres").val(); + + if (nbActesVerres>0) + { + v_msg="Veuillez sélectionner un verre !"; + v_msgEng="Please select a glass !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeOptique").focus(); + return; + } + */ + + codePrestatairePrescription = $("#codePrestatairePrescription").val(); + codeOptique = $("#codeOptique").val(); + + if (codeOptique<=" ") + { + v_msg="Veuillez sélectionner un verre !"; + v_msgEng="Please select a glass !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeOptique").focus(); + return; + } + + donnees = 'codeOptique='+codeOptique; + donnees += '&codePrestatairePrescription=' + codePrestatairePrescription; + + // alert(donnees); + // return; + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailopticien/ajouterverreprescription/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#btn_close_pop_verre").click(); + // $("#livraison").html(data); + }, + complete: function() { + // alerter_depassement_limite(); + actualiser_opticien(); + } + }); + + //} + +// Fin Ajout à la prescription +} + +function controle_longeur_passe(controle) +{ + /* + longueur = controle.value.length; + + if(longueur==0) + { + return false; + } + + if(longueur<6) + { + v_msg="6 caractères minimum exigé!"; + v_msgEng="6 characters minmum required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + controle.value=""; + controle.focus(); + return false; + } + */ +} + +function ajax_maj_prix_medicament_pha(idMedicament, prix, controle) +{ + prix=prix.replace(",","."); + controle.value=prix; + + if(controle_numerique(controle)) + { + if(prix==0) + { + controle.focus(); + v_msg="Veuillez saisir le prix !"; + v_msgEng="Please enter the price !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idMedicament='+idMedicament+"&prix="+prix; + + // alert("ajax_maj_prix_medicament_pha : "+donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailpharmacien/majprixpha/", + type: 'POST', + data: donnees, + success: function(data) { + // $("#medicaments").html(data); + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + controle.focus(); + } + }); + } +} + +function facture_sans_bon() +{ + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + + if (numeroBeneficiaire<="0") + { + v_msg="Veuillez sélectionner un bénéficiaire !"; + v_msgEng="Please select an insured person!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb").val()+"Facturesansboncso/"); +} + +function nouvelle_sans_bon() +{ + window.location.assign($("#racineWeb").val()+"Facturesansboncso/"); +} + +// js_facture_san_sbon + +function enregistrerfacture_sans_bon_temp() +{ + codeMedecin = $("#codeMedecin").val(); + medecinManquant = $("#medecinManquant").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#nomMedecin").focus(); + return; + } + + if (codeMedecin=="ZZZZ" && medecinManquant<=" ") + { + v_msg="Veuillez saisir le nom du médecin non enregistré!"; + v_msgEng="Please enter the name of the non-registered doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#medecinManquant").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if (numeroBon<=" ") + { + v_msg="Veuillez saisir le No de Bon !"; + v_msg +="\n"; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + dateFacture=$("#dateFacture").val(); + + if (dateFacture<=" ") + { + v_msg="Veuillez saisir la date de la facture !"; + v_msg +="\n"; + alert(v_msg); + $("#dateFacture").focus(); + return; + } + + /* + medecinManquant = $("#medecinManquant").val(); + + if (medecinManquant<=" ") + { + v_msg="Veuillez saisir le Médecin!"; + v_msg +="\n"; + alert(v_msg); + $("#medecinManquant").focus(); + return; + } + */ + + + observations = $("#observations").val(); + hospitalisation = $("#hospitalisation").val(); + tm = $("#tmFacture").val(); + + donnees = 'observations='+observations+'&dateFacture='+dateFacture+'&hospitalisation='+hospitalisation+'&tm='+tm+'&numeroBon='+numeroBon+'&medecinManquant='+medecinManquant+'&codeMedecin='+codeMedecin; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailfacturesansboncso/enregistrerfacturetemp/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_facture").html(data); + }, + complete: function() { + alerter_depassement_limite_sans_bon(); + } + }); +} + +function enregistrerfacture_sans_bon() +{ + enregistrerfacture_sans_bon_temp(); + + medecinManquant = $("#medecinManquant").val(); + + if (medecinManquant<=" ") + { + v_msg="Veuillez saisir le Médecin!"; + v_msg +="\n"; + alert(v_msg); + $("#medecinManquant").focus(); + return; + } + + dateFacture=$("#dateFacture").val(); + + if (dateFacture<=" ") + { + v_msg="Veuillez saisir la date de la facture !"; + v_msg +="\n"; + alert(v_msg); + $("#dateFacture").focus(); + return; + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à enregistrer!"; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cette facture ?"; + if (confirm(v_msg)) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailfacturesansboncso/validerfacturesansbon/", + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // maj_fraisexclu_cso(); + }, + complete: function() { + alert("Validation effectuée avec succès!"); + + afficher_beneficiaire_id(); + } + }); + } +} + +function ajax_maj_tm_facture(tm, controle) +{ + donnees = 'tm='+tm; + + tm=tm.replace(",","."); + controle.value=tm; + + if(controle_numerique(controle)) + { + enregistrerfacture_sans_bon_temp(); + } +} + +function ajax_maj_prix_acte(idPrestation, valeurActe, controle) +{ + donnees = 'idPrestation='+idPrestation+"&valeurActe="+valeurActe; + + valeurActe=valeurActe.replace(",","."); + controle.value=valeurActe; + + // alert("ajax_maj_prix_acte : "+donnees); + + if(controle_numerique(controle)) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailfacturesansboncso/majprix/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture").html(data); + }, + error: function(data) { + }, + complete: function(data) { + alerter_depassement_limite_sans_bon(); + } + }); + } +} + + +function valider_facture_sans_bon_temp() +{ + enregistrerfacture_sans_bon_temp(); +} + +function alerter_depassement_limite_sans_bon() +{ + fraisExclu=$("#fraisExclu").val(); + fraisExclu = parseInt(fraisExclu); + + if (fraisExclu>0) + { + v_msg="Attention ! Dépassement de limite"; + v_msgEng="Warning ! Overflow"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } +} + +function consulter_limite_avant_facturation_classique() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureclassique/"); +} + + +function pop_messagerie() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessagerieliste/", + error: function(errorData) { + }, + success: function(data) { + $("#div_messagerie").html(data); + }, + complete: function() { + $("#btn_pop_messagerie").click(); + } + }); +} + + + +function envoyer_messagerie(textMessage, idParent) +{ + donnees = 'textMessage='+textMessage+"&idParent="+idParent; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessagerie/creermessage/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + }, + complete: function() { + } + }); +} + +function repondre_message(idMessagerie, idParent, controle) +{ + donnees = 'idMessagerie='+idMessagerie+'&idParent='+idParent; + + // alert(donnees); + // return; + // console.log(controle); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessageriereponse/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + $("#div_messagerie_reponse").html(data); + }, + complete: function() { + repondu = $("#repondu").val(); + if(repondu=="1") + { + v_msg="Déjà répondu!"; + v_msgEng="Already answered!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + controle.parentElement.removeChild(controle); + return; + } + else + {$("#btn_pop_messagerie_reponse").click(); + } + } + }); +} + +function gerer_messagerie() +{ + window.location.assign($("#racineWeb").val()+"Messagerie/"); +} + +function afficher_lite_messagerie() +{ + donnees = ""; + donnees_retour = ""; + + date1 = $("#date1").val(); + date2 = $("#date2").val(); + + messageLu = $("#messageLu").val(); + textMessage = $("#textMessage").val(); + + donnees += 'date1=' + date1; + donnees += '&date2=' + date2; + donnees += '&messageLu=' + messageLu; + donnees += '&textMessage=' + textMessage; + + // alert(donnees); + // return; + + $("#div_messagerie_gestion").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistemessagerie/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_messagerie_gestion").html(donnees_retour); + $("#nbligne").val("Lignes : "+$("#nbligne_info").val()); + } + }); +} + + +function enregistrer_repondre_message() +{ + idMessagerie = $("#idMessagerie").val(); + idParent = $("#idParentReponse").val(); + + textMessage = $("#textMessageReponse").val(); + textMessage = textMessage.trim(); + + if (textMessage<=" ") + { + v_msg="Veuillez saisir la réponse!"; + v_msgEng="Please enter the answer!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#textMessageReponse").focus(); + return; + } + + donnees = 'idMessagerie='+idMessagerie+"&idParent="+idParent+"&textMessage="+textMessage; + + // alert("enregistrer_repondre_message : "+donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessagerie/repondremessage/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + }, + complete: function() { + $("#btn_pop_messagerie_reponse_quit").click(); + } + }); +} + +function historique_message(idParent) +{ + donnees = 'idParent='+idParent; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessageriehistorique/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + $("#div_messagerie_historique").html(data); + }, + complete: function() { + $("#btn_pop_messagerie_historique").click(); + } + }); +} + +// btn_pop_messagerie_new +function initiermessage() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessagerienew/", + error: function(errorData) { + }, + success: function(data) { + $("#div_messagerie_new").html(data); + }, + complete: function() { + $("#btn_pop_messagerie_new").click(); + } + }); +} + +function enregistrer_new_message() +{ + textMessage = $("#textMessageNew").val(); + textMessage = textMessage.trim(); + + if (textMessage<=" ") + { + v_msg="Veuillez saisir le message!"; + v_msgEng="Please enter the message!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#textMessageNew").focus(); + return; + } + + donnees = 'textMessage='+textMessage+"&idParent=0"; + + // alert("enregistrer_new_message : "+donnees); + // return; + + $.ajax({ + // url: $("#racineWeb").val()+"Ajaxmessagerie/repondremessage/", + url: $("#racineWeb").val()+"Ajaxmessagerie/creermessage/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + }, + complete: function() { + $("#btn_pop_messagerie_new_quit").click(); + } + }); +} + +function consultation_assureur() +{ + dateFactureReelle = $("#dateFactureReelle").val(); + + if (dateFactureReelle<=" ") + { + v_msg="Veuillez saisir la date de la consultation !"; + v_msg +="\n"; + alert(v_msg); + $("#dateFactureReelle").focus(); + return; + } + + if (prestation_possible_assureur()) + { + $("#okId" ).val("1"); + + // alert("dateFactureReelle : "+dateFactureReelle); + // return; + + ajax_context_datefacture_reelle(dateFactureReelle); + } +} + +function prestation_possible_assureur() +{ + enVigueur = $("#enVigueur_C").val(); + codeEtatBeneficiaire = $("#codeEtatBeneficiaire_C").val(); + etatbeneficiaire = $("#etatbeneficiaire_C").val(); + college_couvert = $("#college_couvert_C").val(); + derogation_en_cours = $("#derogation_en_cours_C").val(); + derogation_finger_en_cours = $("#derogation_finger_en_cours_C").val(); + + datejour = $("#datejour_C").val(); + + // modification du 14/07/2018 => factures antidatée + dateFactureReelle = $("#dateFactureReelle").val(); + + + dateEffetPolice = $("#dateEffetPolice_C").val(); + dateEcheancePolice = $("#dateEcheancePolice_C").val(); + + // A désactivé peut-être pour RADIANT + if (enVigueur!="1") + { + v_msg="Attention! cette personne n'est pas en vigueur"; + v_msgEng="Warning! This person is not in force"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + + if (codeEtatBeneficiaire!="V") + { + alert("Attention! "+etatbeneficiaire); + return false; + } + + // Fin désactivation peut-être pour RADIANT + + if (college_couvert!="1" && derogation_en_cours<1) + { + v_msg="Attention! Cette personne n'a pas accès à ce centre"; + v_msgEng="Warning! This person does not have access to this center"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + + var td0 = new Date(dateEntreeBeneficiaire); + + // var td1 = new Date(datejour); + // modification du 14/07/2018 => factures antidatée + // var td1 = new Date(datejourOld); + var td1 = $("#dateFactureReelle").datepicker("getDate"); + var td2 = new Date(dateEcheancePolice); + var tdj = new Date(datejour); + + dt0=Math.round(Date.parse(td0)/(1000*3600*24)); + dt1=Math.round(Date.parse(td1)/(1000*3600*24)); + dt2=Math.round(Date.parse(td2)/(1000*3600*24)); + dtj=Math.round(Date.parse(tdj)/(1000*3600*24)); + + if (dt1>dtj) + { + v_msg="Attention! Revoir la date date!"; + v_msgEng="Warning! Review the date!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + + if (dt1>dt2 || dt1"2000-01-01") + { + var tdd = new Date(dateSortieBeneficiaire); + dtd=Math.round(Date.parse(tdd)/(1000*3600*24)); + + if (dt1>dtd) + { + v_msg="Attention! cette personne n'est pas couverte à cette date!"; + v_msgEng="Warning! This person is not valid on this date!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + } + + + dateDeces_C=$("#dateDeces_C").val(); + + if(dateDeces_C>"2000-01-01") + { + v_msg="Attention! personne décédée !"; + v_msgEng="Warning! Deceased !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + + return true; +} + +function ajax_context_datefacture_reelle(dateFactureReelle) +{ + donnees = 'dateFactureReelle='+dateFactureReelle; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdatefacturerelle/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + aller_a_la_consultatio(); + } + }); +} + +function aller_a_la_consultatio() +{ + window.location.assign($("#racineWeb" ).val()+"Consultation/"); +} + +function ajax_maj_qte_examen_lab(idExamen, quantite, controle) +{ + quantite=quantite.replace(",","."); + controle.value=quantite; + + if(controle_numerique(controle)) + { + if(quantite==0) + { + controle.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idExamen='+idExamen+"&quantite="+quantite; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/majquantiteexam/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + controle.focus(); + } + }); + } +} + +function ajax_maj_qte_examen_lab_select(idExamen, quantite, controle) +{ + donnee_a_affciher = ""; + + quantite=quantite.replace(",","."); + controle.value=quantite; + + if(controle_numerique(controle)) + { + if(quantite==0) + { + controle.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idExamen='+idExamen+"&quantite="+quantite; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxselectexamens/majquantiteexam/", + type: 'POST', + data: donnees, + success: function(data) { + // $("#livraison").html(data); + donnee_a_affciher = data; + alerter_depassement_limite(); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + $("#totam_donnees").html(donnee_a_affciher); + // alerter_depassement_limite(); + controle.focus(); + } + }); + } +} + +function ajax_maj_qte_examen_cso(idExamen, quantite, controle) +{ + donnee_a_affciher = ""; + + quantite=quantite.replace(",","."); + controle.value=quantite; + + if(controle_numerique(controle)) + { + if(quantite==0) + { + controle.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idExamen='+idExamen+"&quantite="+quantite; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailexamen/majquantiteexam/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + controle.focus(); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); + } +} + +function actualiser_saisie_pharmacien() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailpharmacien/", + // type : 'post', + // data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#livraison").html(data); + raffraichier_detail_prescription(); + }, + complete: function() { + alerter_depassement_limite(); + } + }); +} + +function lister_ged() +{ + d1 = $("#d1").val(); + d2 = $("#d2").val(); + nomOrigine = $("#nomOrigine").val(); + + donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine; + + $("#div_ged").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteged/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_ged").html(data); + }, + complete: function() { + } + }); +} + +function ctrlkeypress_lister_ged(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + lister_ged(); + } +} + +function check_ged(idGed, cheminFichier, controle) +{ + donnees = "idGed="+idGed+"&cheminFichier="+cheminFichier; + + // alert(donnees); + // console.log(donnees); + // alert(cheminFichier); + // console.log(cheminFichier); + // return; + + // var cible_ged = $('#cible_ged'); + var ctrl_btn_ged = $("#btn_ged"+idGed); + var ctrl_mess_not_found= $("#mess_not_found"+idGed); + var ctrl_check = $("#ctrl_check"+idGed); + + // alert(controle.value); + // return; + + // document.getElementById('bouton_'+id).innerHTML='Afficher le texte'; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxged/verifierexistancefichier/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // alert(data); + + donnees_retour = data; + + if(donnees_retour=="1") + { + ctrl_btn_ged.show(); + } + else + { + ctrl_mess_not_found.html("Not found"); + } + }, + complete: function() + { + controle.style.display = 'none'; + ctrl_check.show(); + } + }); +} + +function lister_ged_adherent() +{ + d1 = $("#d1").val(); + d2 = $("#d2").val(); + nomOrigine = $("#nomOrigine").val(); + + donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine; + + $("#div_ged").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistegedadherent/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_ged").html(data); + }, + complete: function() { + } + }); +} + +function lister_ged_beneficiaire_prest() +{ + d1 = $("#d1").val(); + d2 = $("#d2").val(); + nomOrigine = $("#nomOrigine").val(); + + donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine; + + $("#div_ged").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistegedbeneficiaireprest/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_ged").html(data); + }, + complete: function() { + } + }); +} + +function lister_ged_beneficiaire() +{ + d1 = $("#d1").val(); + d2 = $("#d2").val(); + nomOrigine = $("#nomOrigine").val(); + + donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine; + + $("#div_ged").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistegedbeneficiaire/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_ged").html(data); + }, + complete: function() { + } + }); +} + +function lister_ged_feuille_maladie() +{ + d1 = $("#d1").val(); + d2 = $("#d2").val(); + nomOrigine = $("#nomOrigine").val(); + + donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine; + + $("#div_ged").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistegedfeuillemaladie/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_ged").html(data); + }, + complete: function() { + } + }); +} + +function pop_ged_pharmacie() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistegedpharmacie/", + error: function(errorData) { + alert("Erreur : "+errorData); + }, + success: function(data) + { + // alert(data); + // console.log(data); + $("#div_ged").html(data); + }, + complete: function() { + $("#btn_pop_ged_pharmacie").click(); + } + }); +} + +function save_enroleur(user_id) +{ + if (user_id>"") + { + donnees = 'user_id='+user_id; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextbeneficiaire/saveenroleur/", + type : 'post', + data: donnees, + error: function(errorData) { + alert("Erreur : "+errorData); + }, + complete: function() { + } + }); + } +} + + +/* ACTIVATION POPUP +function imprimer_liste_assures() +{ + $('#div_export_assures').html(''); + + $("#btn_liste_assures").click(); + popalertmessagerie +} +*/ + +function pop_dernier_messagerie() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessagerieliste/derniermessage/", + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dernier_messagerie").html(data); + }, + complete: function() { + $("#btn_pop_dernier_messagerie").click(); + } + }); +} + +function marquer_dernier_message_comme_lu(idMessagerie, controle) +{ + donnees = 'idMessagerie='+idMessagerie; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessagerieliste/marquercommelu/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + }, + complete: function() { + // controle.parentElement.removeChild(controle); + $("#btn_close_pop_dernier_messagerie").click(); + } + }); +} + +/* +function fonction_test() +{ + alert("fonction_test"); +} +*/ + +function isNumeric(num){ + return !isNaN(num) +} + +function retirer_consommable(idConsommable) +{ + donnees = 'idConsommable='+idConsommable; + + // alert(donnees); + // return; + + v_msg="Confirmez-vous cette suppression?"; + v_msgEng="Do you Confirm this deletion?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteconsommables/retirerconsommable/", + type: 'POST', + data: donnees, + success: function(data) { + // $('#div_test_gabarit').html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + afficher_consommable(); + } + }); + } +} + +function retirer_consommable_tous() +{ + v_msg="Confirmez-vous cette suppression?"; + v_msgEng="Do you Confirm this deletion?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteconsommables/retirerconsommabletous/", + type: 'POST', + success: function(data) { + // $('#div_test_gabarit').html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + afficher_consommable(); + } + }); + } +} + +function valider_consommables() +{ + v_msg="Confirmez-vous cette saisie?"; + v_msgEng="Do you confirm this situation ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + feuillemaladie(); + } +} + +function imprimerdecompteprestataireaccord() +{ + regle=$("#regle").val(); + + // alert("regle : "+regle); + // return; + + + if( (regle!=1) && (regle!=9) ) + { + v_msg="Pas encore validé par l\'asssureur"; + v_msgEng="Not yet validates by insurer!"; + v_msg +="\n"; + v_msg +=v_msgEng; + + alert(v_msg); + return; + } + + idReglement = $("#idReglement").val(); + + // alert("imprimerdecompteprestataireaccord = "+idReglement); + // return; + + if (idReglement>"0") + { + var div_wait = $('#div_wait'); + div_wait.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaximprimerdemandereglement/imprimerdecompteprestataireaccord", + type: 'POST', + success: function(data) + { + div_wait.html(data); + }, + error : function(resultat, statut, erreur) + { + alert(erreur); + }, + complete: function(data) + { + } + }); + } +} + + +function consulter_une_factures() +{ + window.location.assign($("#racineWeb" ).val()+"Facturecons//"); +} + +function ctrlkeypressfacture(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + $("#idFacture").blur(); + } +} + +function chercher_facture(idFacture) +{ + $("#div_facture_detail").html(''); + + $("#div_consulter_facture").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert(donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconsassure/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_consulter_facture").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function consulterfacturefeuillemaladie() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert(donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconsassure/feuillemaladie/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function consulterfactureprestationactes() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert("consulterfactureprestationactes : " + donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconsprestataire/prestationactes/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function consulterfacturemedicaments() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert("consulterfacturemedicaments : " + donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconsprestataire/medicaments/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function consulter_facture_pop(idFacture) +{ + $("#div_facture_detail").html(''); + + $("#div_consulter_facture_pop").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconspop/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_consulter_facture_pop").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + $('#btn_pop_consulter_facture').click(); + } + }); +} + +function consulterfacturefeuillemaladie_pop() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert(donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconspop/feuillemaladie/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function consulterfactureprestationactes_pop() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert("consulterfactureprestationactes : " + donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconspop/prestationactes/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function consulterfacturemedicaments_pop() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert("consulterfacturemedicaments : " + donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconspop/medicaments/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function consulterfactureged_pop() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert("consulterfacturemedicaments : " + donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconspop/geds/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function reafficher_ged_facture(idFacture) +{ + if (idFacture>"0") + { + donnees = 'idFacture='+idFacture; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxgedfacture/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_ged").html(data); + }, + complete: function() { + } + }); + } +} + +function valider_ged_facture() +{ + // alert("valider_ged_facture"); + // return; + + idFacture = $("#idFactureGed").val(); + v_url = $("#racineWeb").val()+"Ajaxgedfacture/chargerged"; + + donnees = ""; + + donnees = new FormData($("#ajax_form_upload")[0]); + + $.ajax({ + type: "POST", + url: v_url, + data: donnees, + contentType: false, + cache: false, + processData :false, + + success: function(message){ + alert(message); + }, + error: function(errorData){ + alert("Error : "+errorData); + }, + complete: function() { + // reafficher_ged_facture(idFacture); + } + }); +} + +function consulterfactureged() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert("consulterfacturemedicaments : " + donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconsprestataire/geds/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function enregistrer_nv_verres() +{ + libelleOptique = $("#libelleOptique").val(); + + if (libelleOptique<=" ") + { + v_msg="Veuillez saisir le nom !"; + v_msgEng="Please enter the name !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#libelleOptique").focus(); + return; + } + + prixVerre=$("#prixVerre").val(); + prixVerre=prixVerre.replace(",","."); + $("#prixVerre").val(prixVerre); + + if(isNaN(prixVerre)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#prixVerre").val("0"); + $("#prixVerre").focus(); + return + } + + if(prixVerre==0) + { + $("#prixVerre").focus(); + v_msg="Veuillez saisir le prix !"; + v_msgEng="Please enter the price !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + donnees = 'libelleOptique='+libelleOptique+'&prixVerre='+prixVerre; + + // alert(donnees); + // return; + + // typeSms="ententeprealableopt"; + + $.ajax({ + // url: $("#racineWeb").val()+"Ajaxlistemedicamentspha/creermedicament/", + url: $("#racineWeb").val()+"Ajaxdetailopticien/creerverre/", + type: 'POST', + data: donnees, + success: function(data) { + // $("#medicaments").html(data); + + $("#btn_close_pop_new_verre").click(); + $("#btn_close_pop_verre").click(); + + // $("#div_test_gabarit").html(data); + + }, + error: function(data) { + }, + complete: function() { + actualiser_opticien(); + } + }); +} + +function demander_accord_opt(idOptique) +{ + donnees = 'idOptique='+idOptique; + + typeSms="ententeprealableopt"; + + donnees_sav = 'idOptique='+idOptique+'&typeMail=mailententeprealableopt'; + + // alert("demander_accord_opt : "+donnees); + // return + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailopticien/demanderaccordopt/", + type: 'POST', + data: donnees, + success: function(data) { + preparesms(typeSms); + + v_msg="Demande accord prealable envoyée !"; + v_msgEng="Request prior agreement sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + // raffraichir affichage + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + // alert("donnees_sav : "+donnees_sav); + mettremailattente(donnees_sav); + } + }); +} + +function demander_accord_mont(idOptique) +{ + + prixPrestataire = $("#prixPrestataire").val(); + + prixPrestataire=prixPrestataire.replace(",","."); + $("#prixPrestataire").val(prixPrestataire); + + if(isNaN(prixPrestataire)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#prixPrestataire").val("0"); + $("#prixPrestataire").focus(); + return + } + + if(prixPrestataire==0) + { + $("#prixPrestataire").focus(); + v_msg="Veuillez saisir le prix !"; + v_msgEng="Please enter the price !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + donnees = 'idOptique='+idOptique+'&prixPrestataire='+prixPrestataire; + + typeSms="ententeprealablemont"; + + donnees_sav = donnees+'&typeMail=mailententeprealablemont'; + + // alert(donnees_sav); + // return + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmonture/demanderaccordmont/", + + type: 'POST', + data: donnees, + success: function(data) { + preparesms(typeSms); + + v_msg="Demande accord prealable envoyée !"; + v_msgEng="Request prior agreement sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#div_monture").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + mettremailattente(donnees_sav); + } + }); +} + +function listerfacturefamille() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfacturesfamille/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function listerfacture() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactures/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function dossiers_famille() +{ + window.location.assign($("#racineWeb" ).val()+"Dossiersfamille/"); +} + +function dossiers() +{ + window.location.assign($("#racineWeb" ).val()+"Dossiers/"); +} + +// listerdossier_famille + +function listerdossier() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdossiers/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function listerdossier_famille() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdossiersfamille/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function ctrlkeypress_prestataire(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_prestataire(); + } +} + +function ctrlkeypress_prestataire2(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_prestataire2(); + } +} + +function afficher_pop_recherche_prestataire() +{ + codesearch = $("#codesearch").val(); + nomsearch = $("#nomsearch").val(); + + if(codesearch+nomsearch<=" ") + return; + + donnees = "valid=1&codesearch="+codesearch+"&nomsearch="+nomsearch; + + $("#div_listeprestataires").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteprestataires/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_listeprestataires").html(data); + } + }); +} + +function afficher_pop_recherche_prestataire2() +{ + codesearch = $("#codesearch2").val(); + nomsearch = $("#nomsearch2").val(); + + if(codesearch+nomsearch<=" ") + return; + + donnees = "valid=1&codesearch="+codesearch+"&nomsearch="+nomsearch; + + $("#div_listeprestataires").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteprestatairesb/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_listeprestataires").html(data); + } + }); +} + + +function selectionner_prestataire(codePrestataire, nomPrestataire) +{ + $("#codePrestataire").val(codePrestataire); + $("#nomPrestataire").html(nomPrestataire); + $("#close_pop").click(); +} + + +function selectionner_prestataire2(codePrestataire, nomPrestataire) +{ + $("#codePrestataire").val(codePrestataire); + $("#nomPrestataire").html(nomPrestataire); + $("#close_pop2").click(); +} + + +function listerderogations() +{ + codePrestataire=$("#codePrestataire").val(); + codeDerogation=$("#codeDerogation").val(); + codeReponseDerogation=$("#codeReponseDerogation").val(); + debut=$("#debut").val(); + fin=$("#fin").val(); + + donnees = 'codePrestataire='+codePrestataire+'&codeDerogation='+codeDerogation+'&codeReponseDerogation='+codeReponseDerogation; + donnees += '&debut='+debut+'&fin='+fin; + + $("#div_derogations").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxderogations/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + $("#div_derogations").html(data); + }, + complete: function() { + } + }); +} + + +function reinitialiser_prestataire() +{ + $("#codePrestataire").val(""); + $("#nomPrestataire").html("Tous / Rechercher Prestataire ..."); + $("#close_pop").click(); +} + + +function reinitialiser_prestataire2() +{ + $("#codePrestataire").val(""); + $("#nomPrestataire").html("Tous / Rechercher Prestataire ..."); + $("#close_pop2").click(); +} + + +function consulter_derogation_2(idDemandederogation) +{ + window.location.assign($("#racineWeb" ).val()+"Consulterderogations/"+idDemandederogation+"/"); +} + +function consulter_derogation(idDemandederogation) +{ + window.location.assign($("#racineWeb" ).val()+"Consulterderogation/"+idDemandederogation+"/"); +} + +function liste_ententeprealables_mont() +{ + window.location.assign($("#racineWeb" ).val()+"Listeententeprealablesmont/"); +} + +function liste_ententeprealables_opt() +{ + window.location.assign($("#racineWeb" ).val()+"Listeententeprealablesopt/"); +} + +function listeententeprealables() +{ + codePrestataire=$("#codePrestataire").val(); + codeReponseEntentePrealable=$("#codeReponseEntentePrealable").val(); + debut=$("#debut").val(); + fin=$("#fin").val(); + + donnees = 'codePrestataire='+codePrestataire+'&codeReponseEntentePrealable='+codeReponseEntentePrealable; + donnees += '&debut='+debut+'&fin='+fin; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxententeprealables/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorDat); + }, + success: function(data) { + $("#div_ententeprealable").html(data); + }, + complete: function() { + } + }); +} + +function consulter_ententeprealable_2(idDemandeententeprealable) +{ + window.location.assign($("#racineWeb" ).val()+"Consulterententeprealables/"+idDemandeententeprealable+"/"); +} + +function consulter_ententeprealable(idDemandeententeprealable) +{ + window.location.assign($("#racineWeb" ).val()+"Consulterententeprealable/"+idDemandeententeprealable+"/"); +} + + +function consulter_ententeprealable_pha_2(idDemandeententeprealable) +{ + window.location.assign($("#racineWeb" ).val()+"Consulterententeprealablespha/"+idDemandeententeprealable+"/"); +} + +function consulter_ententeprealable_opt_2(idDemandeententeprealable) +{ + window.location.assign($("#racineWeb" ).val()+"Consulterententeprealablesopt/"+idDemandeententeprealable+"/"); +} + +function consulter_ententeprealable_mont_2(idDemandeententeprealable) +{ + window.location.assign($("#racineWeb" ).val()+"Consulterententeprealablesmont/"+idDemandeententeprealable+"/"); +} + + +function liste_ententeprealables_pha() +{ + window.location.assign($("#racineWeb" ).val()+"Listeententeprealablespha/"); +} + +function liste_ententeprealables() +{ + window.location.assign($("#racineWeb" ).val()+"Listeententeprealables/"); +} + +function listeententeprealablespha() +{ + codeReponseEntentePrealable=$("#codeReponseEntentePrealable").val(); + debut=$("#debut").val(); + fin=$("#fin").val(); + + donnees = 'codeReponseEntentePrealable='+codeReponseEntentePrealable; + donnees += '&debut='+debut+'&fin='+fin; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxententeprealablespha/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorDat); + }, + success: function(data) { + $("#div_ententeprealable").html(data); + }, + complete: function() { + } + }); +} + +function listeententeprealablesopt() +{ + codeReponseEntentePrealable=$("#codeReponseEntentePrealable").val(); + debut=$("#debut").val(); + fin=$("#fin").val(); + + donnees = 'codeReponseEntentePrealable='+codeReponseEntentePrealable; + donnees += '&debut='+debut+'&fin='+fin; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxententeprealablesopt/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorDat); + }, + success: function(data) { + $("#div_ententeprealable").html(data); + }, + complete: function() { + } + }); +} + + +function listeententeprealablesmont() +{ + + codeReponseEntentePrealable=$("#codeReponseEntentePrealable").val(); + debut=$("#debut").val(); + fin=$("#fin").val(); + + donnees = 'codeReponseEntentePrealable='+codeReponseEntentePrealable; + donnees += '&debut='+debut+'&fin='+fin; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxententeprealablesmont/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorDat); + }, + success: function(data) { + $("#div_ententeprealable").html(data); + }, + complete: function() { + } + }); +} + + +function fraisfuneraire() +{ + fraisFuneraireDemande=$("#fraisFuneraireDemande_C").val(); + + if (fraisFuneraireDemande!=1) + { + v_msg="Aucune demande effectuée !"; + v_msg +="\n"; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Fraisfuneraire/"); +} + +function histsupprempreinte() +{ + $("#div_detail_suppr_empreinte").html(""); + + debut=$("#debut").val(); + fin=$("#fin").val(); + + donnees = 'debut='+debut+'&fin='+fin; + + // alert(donnees); + // return; + + $("#div_detail_suppr_empreinte").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxhistsupprempreinte/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorDat); + }, + success: function(data) { + $("#div_detail_suppr_empreinte").html(data); + }, + complete: function() { + } + }); +} + + +function afficher_lite_prestataire() +{ + donnees = ""; + donnees_retour = ""; + + + codeTypePrestataire = $("#codeTypePrestataire").val(); + codeReseau = $("#codeReseau").val(); + libelle = $("#libelle").val(); + + codePays = $("#codePays").val(); + codeVille = $("#codeVille").val(); + codeLocalite = $("#codeLocalite").val(); + + donnees += 'codeTypePrestataire=' + codeTypePrestataire; + donnees += '&codeReseau=' + codeReseau; + donnees += '&libelle=' + libelle; + + donnees += '&codePays=' + codePays; + donnees += '&codeVille=' + codeVille; + donnees += '&codeLocalite=' + codeLocalite; + + // alert(donnees); + // return; + + $("#div_liste_prestataire").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteprestataireparametrage/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_liste_prestataire").html(donnees_retour); + $("#nbligne").val("Lignes : "+$("#nbligne_info").val()); + } + }); +} + + +function afficher_prestataire_id(idPrestataire) +{ + window.location.assign($("#racineWeb" ).val()+"Ficheprestataire/"+idPrestataire+"/"); +} + + +function afficher_pharmacie(numeroBonOrdonnance, codePrestataireLivraison) +{ + donnees = 'numeroBonOrdonnance='+numeroBonOrdonnance+'&codePrestataireLivraison='+codePrestataireLivraison; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextpharmaciencien/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + complete: function() { + window.location.assign($("#racineWeb" ).val()+"Pharmaciencons/"); + } + }); +} + +// 06/04/2019 + +// 06/04/2019 +function changer_langue() +{ + codeLangue = $("#codeLangue").val(); + + v_msg="Attention, vous serez déconnecté! Confirmez-vous le changement de langue?"; + v_msgEng="Attention, you will be logged out! Do you confirm the language change?"; + + + confirm_ebene(v_msg, v_msgEng) + .then((isConfirmed) => { + if (isConfirmed) { + // L'utilisateur a confirmé + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerlangue/changerlangue/", + type : 'post', + // data: donnees, + error: function(errorData) + { + }, + success: function(data) + { + // $("#div_test_gabarit").html(data); + }, + complete: function() + { + window.location.assign($("#racineWeb" ).val()+"Connexion/deconnecter/"); + } + }); + } else { + // L'utilisateur a annulé + console.log("Confirmation refusée"); + } + }); + +} + +function desactiver_click_droit() +{ + if (document.addEventListener) { + document.addEventListener('contextmenu', function (e) { + e.preventDefault(); + }, false); + } else { + document.attachEvent('oncontextmenu', function () { + window.event.returnValue = false; + }); + } +} + + +function ajaxListerVille() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxville/", + type : 'post', + data: "codePays="+$("#codePays").val(), + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listeville").html(data); + }, + complete: function() { + } + }); +} + +function ajaxListerLocalite() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlocalite/", + type : 'post', + data: "codePays="+$("#codePays").val()+"&codeVille="+$("#codeVille").val(), + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listelocalite").html(data); + } + }); +} + + +function ajaxListerVilleConsultation() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxville/consultation/", + type : 'post', + data: "codePays="+$("#codePays").val(), + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listeville").html(data); + }, + complete: function() { + } + }); +} + +function ajaxListerLocaliteConsultation() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlocalite/consultation/", + type : 'post', + data: "codePays="+$("#codePays").val()+"&codeVille="+$("#codeVille").val(), + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listelocalite").html(data); + } + }); +} + +// 2019 06 17 + +function enregistrer_new_notes() +{ + notesNew = $("#notesNew").val(); + notesNew = notesNew.trim(); + + if (notesNew<=" ") + { + v_msg="Veuillez saisir la note!"; + v_msgEng="Please enter the note!"; + alert_ebene(v_msg, v_msgEng); + + $("#notesNew").focus(); + return; + } + + donnees = 'notesNew='+notesNew; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxnotesfeuillemaladie/creernote/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) + { + $("#btn_pop_note_new_quit").click(); + }, + complete: function() { + afficher_notes_feuille(); + } + }); +} + +function afficher_notes_feuille() +{ + $("#div_notes").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxnotesfeuillemaladie/", + error: function(errorData) { + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_notes").html(donnees_retour); + } + }); +} + +function initiernotesfeuille() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxnotesfeuillemaladie/nouvellenote/", + error: function(errorData) { + }, + success: function(data) + { + $("#div_note_new").html(data); + }, + complete: function() { + $("#btn_pop_note_new").click(); + } + }); +} + + +function controle_numerique_new(idControle, oldValue) +{ + controle = document.getElementById(idControle); + + // alert("oldValue => "+oldValue); + + valeur = controle.value; + + if(isNaN(valeur)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + alert_ebene(v_msg, v_msgEng); + + controle.value=oldValue; + controle.focus(); + return false; + } + // alert("On est OK"); + return true; +} + +function supprimer_espace_string(p_mot) +{ + p_mot = p_mot.trim(); + p_mot = p_mot.replace(" ", ""); + return p_mot; +} + +function raffraichier_gabarit() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxgabarit/", + success: function(data) + { + $("#div_ajaxgabarit").html(data); + + codeSociete = $("#codeSociete").val(); + vue = $("#vue").val(); + + if((codeSociete == undefined || codeSociete <= " ") && vue !="Connexion"){ + + window.location.assign($("#racineWeb" ).val()+"Connexion/"); + } + + }, + error: function(errorData) + { + // alert("Erreur : "+errorData); + }, + complete: function() + { + $(".datepicker" ).datepicker(); + + raffraichier_messagerie(); + } + }); +} + +function connexion_cookie() +{ + msgErreur=$("#msgErreur").val(); + + donnees = 'msgErreur='+msgErreur; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconnexioncookie/", + type: 'POST', + data: donnees, + success: function(data) + { + $("#div_ajaxconnexion").html(data); + }, + error: function(errorData) + { + }, + complete: function() + { + var login = document.getElementById("login").value; + if (login>" ") + { + $("#mdp").focus(); + } + else + { + $("#login").focus(); + } + } + }); +} + +function ctrlkeypress_lite_prestataire(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_lite_prestataire(); + afficher_liste_prestataires_actifs(); + } +} + +function retour_prestataire_id() +{ + idPrestataire = $("#idPrestataire").val(); + afficher_prestataire_id(idPrestataire); +} + +function afficher_garantieadherent_exo() +{ + var div_attente = $('#div_gar_exo'); + + exercieReference=$("#exercieReference").val(); + + if (exercieReference<=" ") + { + v_msg="Veuillez sélectionner un exercice!"; + v_msgEng="Please select an exercise!"; + alert_ebene(v_msg, v_msgEng); + + $("#exercieReference").focus(); + + div_attente.html(''); + + return; + } + + donnees = 'exercieReference='+exercieReference; + + div_attente.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxplafondadherent/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + div_attente.html(data); + }, + complete: function() { + } + }); +} + +function anteceentsmedicaux() +{ + window.location.assign($("#racineWeb" ).val()+"Anteceentsmedicaux/"); +} + +function diagnosticsbeneficiaire() +{ + window.location.assign($("#racineWeb" ).val()+"Diagnosticsconsbeneficiaire/"); +} + +function notesbeneficiaire() +{ + window.location.assign($("#racineWeb" ).val()+"Notesbeneficiaire/"); +} + +function afficher_diagnostics_beneficiaire() +{ + $("#div_dianostics").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdiagnosticsbeneficiaire/", + error: function(errorData) { + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_dianostics").html(donnees_retour); + } + }); +} + +function afficher_notes_beneficiaire() +{ + $("#div_notes").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxnotesbeneficiaire/", + error: function(errorData) { + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_notes").html(donnees_retour); + } + }); +} + +function afficher_contacts_assureur() +{ + window.location.assign($("#racineWeb" ).val()+"Infossassureur/"); +} + +function afficher_factures_feuille() +{ + $("#div_detail_factures").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfacturesfeuille/", + error: function(errorData) { + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_detail_factures").html(donnees_retour); + } + }); +} + +function ctrlkeypressconsultation(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + $("#numeroBonConsultation").blur(); + } +} + +function afficher_factures_consultation(numeroBonConsultation) +{ + donnees = "numeroBonConsultation="+numeroBonConsultation; + + $("#div_detail_factures").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdossiercons/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_detail_factures").html(donnees_retour); + } + }); +} + +function test_online() +{ + if(navigator.onLine) + { + $("#test_connexion").css('background-color', 'green'); + v_msg="Connexion OK!"; + v_msgEng="Connection OK"; + alert_ebene(v_msg, v_msgEng); + + } + else + { + $("#test_connexion").css('background-color', 'red'); + v_msg="Problème de Connexion!"; + v_msgEng="Connection Problem!"; + alert_ebene(v_msg, v_msgEng); + } + return; +} + +function raffraichier_messagerie() +{ + deconnexion='0'; + if(navigator.onLine) + { + //$("#test_connexion").css('background-color', 'green'); + c_html = ""; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessagerie/", + success: function(data) { + c_html = data; + }, + error: function(errorData) { + }, + complete: function() { + $("#nbMessagesNonLus").html(c_html); + msgNonLus=$("#msgNonLus").val(); + $("#span_notification").text(msgNonLus); + // Ajout du 27/10/2024 => déconnecter si session expirée + deconnexion=$("#deconnexion").val(); + + // alert("deconnexion => "+deconnexion); + + if(deconnexion=='1') + { + window.location.assign($("#racineWeb" ).val()+"Connexion/deconnecter/"); + } + } + }); + } + else + { + $("#test_connexion").css('background-color', 'red'); + return; + } +} + +function consulterfactureverres() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + alert_ebene(v_msg, v_msgEng); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return; + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconsprestataire/verres/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + }, + complete: function() { + } + }); +} + + +function consulterfactureverres_pop() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + alert_ebene(v_msg, v_msgEng); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return; + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconspop/verres/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + }, + complete: function() { + } + }); +} + +function consulter_remplacer_medicament() +{ + $("#div_liste_medicaments_remplaces").html('
' + '' + '
'); + + $('#btn_medicaments_remplaces').click(); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailprescription/consulterremplacement/", + type: 'POST', + success: function(data) { + $("#div_liste_medicaments_remplaces").html(data); + }, + error: function(data) { + }, + complete: function() + { + // $('#btn_medicaments_remplaces').click(); + } + }); +} + +function afficher_garantieadherent_entete_contrat() +{ + var div_attente = $('#div_gar_exo'); + + idEntetecontrat=$("#idEntetecontrat").val(); + + if (idEntetecontrat<="0") + { + v_msg="Veuillez sélectionner une période!"; + v_msgEng="Please select a period!"; + alert_ebene(v_msg, v_msgEng); + + $("#idEntetecontrat").focus(); + + div_attente.html(''); + + return; + } + + // donnees = 'exercieReference='+exercieReference; + donnees = 'idEntetecontrat='+idEntetecontrat; + + div_attente.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxplafondadherent/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + div_attente.html(data); + }, + complete: function() { + } + }); +} + +function afficher_garantiebeneficiaire_entete_contrat() +{ + var div_attente = $('#div_gar_exo'); + + idEntetecontrat=$("#idEntetecontrat").val(); + + if (idEntetecontrat<="0") + { + v_msg="Veuillez sélectionner une période!"; + v_msgEng="Please select a period!"; + alert_ebene(v_msg, v_msgEng); + + $("#idEntetecontrat").focus(); + + div_attente.html(''); + + return; + } + + donnees = 'idEntetecontrat='+idEntetecontrat; + + div_attente.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxplafondbeneficiaire/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + div_attente.html(data); + }, + complete: function() { + } + }); +} + +function afficher_liste_prestataires_actifs() +{ + donnees = ""; + donnees_retour = ""; + + + codeTypePrestataire = $("#codeTypePrestataire").val(); + codeReseau = $("#codeReseau").val(); + libelle = $("#libelle").val(); + + codePays = $("#codePays").val(); + codeVille = $("#codeVille").val(); + codeLocalite = $("#codeLocalite").val(); + + donnees += 'codeTypePrestataire=' + codeTypePrestataire; + donnees += '&codeReseau=' + codeReseau; + donnees += '&libelle=' + libelle; + + donnees += '&codePays=' + codePays; + donnees += '&codeVille=' + codeVille; + donnees += '&codeLocalite=' + codeLocalite; + + // alert(donnees); + // return; + + $("#div_liste_prestataire").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteprestataireparametrage/prestatairesactifs/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_liste_prestataire").html(donnees_retour); + dataTableSpeciale(); + $("#nbligne").val("Lignes : "+$("#nbligne_info").val()); + } + }); +} + +function ctrlkeypress_liste_prestataires_actif(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_liste_prestataires_actifs(); + } +} + +// 12-07-2021 + +$(function(){ + + + appliquerDataTable(); + dataTableSpeciale(); + + + $("#div_selection_prestataire").hide(); + + + if($('#nomForm').val() == "frmDetailBaremeCollege" || $('#nomForm').val() == "frmConsulterDetailBaremeCollege"){ + afficherDetailBaremeCollege(); + } + + if($('#nomForm').val() == "historembdirect") + { + listerremboursement(); + } + + if($('#nomForm').val() == "histocontest") + { + listerdossiercontestes(); + } + + + if($('#nomForm').val() == "histordv") + { + listerrdv(); + } + +}); + +// Applique la librairie DataBase sur les tableaux +function appliquerDataTable(){ + + var sc = $(window).scrollTop(), + dh = $(document).height(), + ch = $(window).height(); + scrollPercent = (sc / (dh-ch)) * 100; + + try{ + var oTable = $('.tabliste').DataTable({ + "lengthMenu": [ 50, 100, 150], + "scrollX": true, + "scrollY": "75vh", + "pagingType": "full_numbers", + "autoWidth": false, + "language": { + "lengthMenu":"Affiche _MENU_ par page", + "zeroRecords": "Désolé - Aucune donnée trouvée", + "info": "_PAGE_ sur _PAGES_ pages", + "infoEmpty": "Pas d'enregistrement", + "search": "Recherche:", + "paginate": { + "next": ">>", + "previous": "<<", + "first": "|<", + "last": ">|" + }, + "infoFiltered": "(filtré de _MAX_ total enregistrements)" + } + }); + + } + catch(err){ + return false; + } + +} + +function dataTableSpeciale(){ + const oTable = $('.tabspeciale'); + var codeLangue = $("#codeLangue").val(); + + + try{ + if(codeLangue=="en_US") + { + oTable.DataTable({ + destroy: true, + responsive: true, + "lengthMenu": [ 25, 50, 100], + "scrollX": true, + "scrollY": "75vh", + "pagingType": "full_numbers", + "autoWidth": false, + "bFilter": false, + "ordering": false, + "bLengthChange": false, + "orderMulti": true, + "language": { + "lengthMenu":"Display _MENU_ records per page", + "zeroRecords": "Nothing found - sorry", + "info": "Showing page _PAGE_ of _PAGES_", + "infoEmpty": "No records available", + "search": "Search:", + "paginate": { + "next": "►", + "previous": "◄", + "first": "|◄", + "last": "►|" + }, + "infoFiltered": "(filtered from _MAX_ total records)" + } + }); + }else{ + oTable.DataTable({ + destroy: true, + responsive: true, + "lengthMenu": [ 25, 50, 100], + "scrollX": true, + "scrollY": "75vh", + "pagingType": "full_numbers", + "autoWidth": false, + "bFilter": false, + "ordering": false, + "bLengthChange": false, + "orderMulti": true, + "language": { + "lengthMenu":"Affiche _MENU_ par page", + "zeroRecords": "Désolé - Aucune donnée trouvée", + "info": "_PAGE_ sur _PAGES_ pages", + "infoEmpty": "Pas d'enregistrement", + "search": "Recherche:", + "paginate": { + "next": "►", + "previous": "◄", + "first": "|◄", + "last": "►|" + }, + "infoFiltered": "(filtré de _MAX_ total enregistrements)" + } + }); + } + + //$('.tabspeciale').columns.adjust().draw(); + } + catch(err){ + return false; + } +} + +function dataTableSpecialeMini(){ + try{ + $('.tabspecialemini').DataTable({ + "lengthMenu": [ 50, 100, 150], + "scrollX": true, + "scrollY": "34vh", + "pagingType": "full_numbers", + "autoWidth": false, + "bFilter": false, + "bLengthChange": false, + "orderMulti": true, + "language": { + "lengthMenu":"Affiche _MENU_ par page", + "zeroRecords": "Désolé - Aucune donnée trouvée", + "info": "_PAGE_ sur _PAGES_ pages", + "infoEmpty": "Pas d'enregistrement", + "search": "Recherche:", + "paginate": { + "next": ">>", + "previous": "<<", + "first": "|<", + "last": ">|" + }, + "infoFiltered": "(filtré de _MAX_ total enregistrements)" + } + }); + + } + catch(err){ + return false; + } +} + +function afficherMasquerDepenses() +{ + masquerDepenses = $("#masquerDepenses").val(); + + const element = document.getElementById("chevron-prestation"); + + if(masquerDepenses=="1"){ + $('#div_depenses').hide(); + $("#masquerDepenses").val("0"); + $("#span_depenses").text("Afficher"); + + element.classList.remove("bi-chevron-up"); + element.classList.add("bi-chevron-down"); + + }else{ + $('#div_depenses').show(); + $("#masquerDepenses").val("1"); + $("#span_depenses").text("Masquer"); + + element.classList.remove("bi-chevron-down"); + element.classList.add("bi-chevron-up"); + } + +} + +function afficherMasquerGaranties() +{ + masquerGarantie = $("#masquerGarantie").val(); + + const element = document.getElementById("chevron-garantie"); + + if(masquerGarantie=="1"){ + $('#div_garantie').hide(); + $("#masquerGarantie").val("0"); + $("#span_garantie").text("Afficher"); + $('#div_garantie').css('margin-bottom', '0px'); + + element.classList.remove("bi-chevron-up"); + element.classList.add("bi-chevron-down"); + }else{ + $('#div_garantie').show(); + $("#masquerGarantie").val("1"); + $("#span_garantie").text("Masquer"); + //$('#div_benef').hide(); + $('#div_garantie').css('margin-bottom', '180px'); + + element.classList.remove("bi-chevron-down"); + element.classList.add("bi-chevron-up"); + + } + +} + + +function afficherhistoriqueadherent(numeroAdherent){ + + d1=$("#d1").val(); + d2=$("#d2").val(); + + codeGarantie=$("#codeGarantie").val(); + + donnees = "numeroAdherent="+numeroAdherent+"&codeGarantie="+codeGarantie; + donnees += '&d1='+d1+'&d2='+d2; + + $("#div_prestation").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxhistoriqueprestation/prestations/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + $("#div_prestation").html(data); + + setTimeout(function() { + functionDataTable(); + }, 1000); + + + }, + complete: function() { + + } + }); + +} + +function afficherMasquerBareme() +{ + masquerBareme = $("#masquerBareme").val(); + + const element = document.getElementById("chevron-plafond"); + + if(masquerBareme=="1"){ + $('#div_bareme').hide(); + $("#masquerBareme").val("0"); + $("#span_bareme").text("Afficher"); + + element.classList.remove("bi-chevron-up"); + element.classList.add("bi-chevron-down"); + }else{ + $('#div_bareme').show(); + $("#masquerBareme").val("1"); + $("#span_bareme").text("Masquer"); + + element.classList.remove("bi-chevron-down"); + element.classList.add("bi-chevron-up"); + } + +} + +/* +document.addEventListener("DOMContentLoaded", function() { + // Récupérez la barre de progression + var progressBar = document.querySelector('.progress-bar'); + + // Récupérez la valeur de l'attribut data-value + var value = parseInt(progressBar.getAttribute('data-value')); + + // Mettez à jour la largeur de la barre de progression + progressBar.style.width = value + '%'; + progressBar.setAttribute('aria-valuenow', value); +}); +*/ + +function modifier_beneficiaire() +{ + if ($("#idBeneficiaire_C" ).val()>"") + { + window.location.assign($("#racineWeb" ).val()+"Modifierbeneficiaire/"+$("#idBeneficiaire_C").val()+"/"); + } +} + + +function functionDataTable(){ + var tab = ''; + + tab = $('#tableLister'); + + + try{ + tab.DataTable({ + responsive: true, + "lengthMenu": [ 25, 50, 100], + "scrollX": true, + "scrollY": "75vh", + "pagingType": "full_numbers", + "autoWidth": false, + "language": { + "lengthMenu":"Affiche _MENU_ par page", + "zeroRecords": "D\u00e9sol\u00e9 - Aucune donn\u00e9e trouv\u00e9e", + "info": "_PAGE_ sur _PAGES_ pages", + "infoEmpty": "Pas d'enregistrement", + "search": "Recherche:", + "paginate": { + "next": "►", + "previous": "◄", + "first": "|◄", + "last": "►|" + }, + "infoFiltered": "(filtr\u00e9 de _MAX_ total enregistrements)" + } + }); + + + } + catch(err){ + return false; + } + +} + + +function changer_entite_portail() +{ + codeSociete=$("#codeSociete").val(); + + if (codeSociete<=" ") + { + v_msg="Veuillez indiquer une entité!"; + v_msgEng="Please indicate an entity!"; + alert_ebene(v_msg, v_msgEng); + + $("#codeSociete").focus(); + return; + } + + //alert(codeSociete); + //return; + + donnees = 'codeSociete='+codeSociete; + + v_url = $("#racineWeb").val()+"Ajaxchangerentiteportail/"; + + $("#div_login_portail").html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert('success :' + errorData); + $("#div_login_portail").html(errorData); + }, + success: function(data) { + // alert('success :' + data); + $("#div_login_portail").html(data); + societeExiste = $("#societeExiste").val(); + entiteActive = $("#entiteActive").val(); + + if(societeExiste=="1" && entiteActive=="1") + { + $("#btn_connexion").prop('disabled', false); + $("#login").focus(); + + }else + { + $("#btn_connexion").prop('disabled', true); + } + } + }); +} + +function changer_langue_connexion() +{ + codeLangue = $("#langue").val(); + donnees = 'codeLangue='+codeLangue; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconnexioncookie/changerlangue/", + type : 'post', + data: donnees, + error: function(errorData) + { + }, + success: function(data) + { + $("#div_detail_connexion").html(data); + }, + complete: function() + { + $(".selectpicker").selectpicker(); + } + }); + +} + +function change_password() +{ + + v_msg="Attention, vous serez déconnecté par la suite! Voulez-vous changer votre mot de passe?"; + v_msgEng="Attention, you will be logged out afterwards! Do you want to change your password?"; + + confirm_ebene(v_msg, v_msgEng) + .then((isConfirmed) => { + if (isConfirmed) { + // L'utilisateur a confirmé + window.location.assign($("#racineWeb" ).val()+"Changermotpass/"); + } else { + // L'utilisateur a annulé + console.log("Confirmation refusée"); + } + }); +} + +function retour_fiche_consulter_bareme() +{ + afficher_adherent_id(); +} + +/* + +function afficherMasquerDepenses() +{ + masquerDepenses = $("#masquerDepenses").val(); + + const element = document.getElementById("chevron-prestation"); + + if(masquerDepenses=="1"){ + $('#div_depenses').hide(); + $("#masquerDepenses").val("0"); + $("#span_depenses").text("Voir"); + + element.classList.remove("bi-chevron-up"); + element.classList.add("bi-chevron-down"); + + }else{ + $('#div_depenses').show(); + $("#masquerDepenses").val("1"); + $("#span_depenses").text("Masquer"); + + element.classList.remove("bi-chevron-down"); + element.classList.add("bi-chevron-up"); + } + +} + + +*/ + +function afficherDetailBaremeCollege() +{ + masquerBareme = $("#masquerBareme").val(); + + const element = document.getElementById("chevron-bareme"); + + if(masquerBareme == undefined){ + masquerBareme = "1"; + } + + if(masquerBareme=="1"){ + $('#div_bareme').hide(); + $("#masquerBareme").val("0"); + //$("#span_bareme").text("[+]"); + element.classList.remove("bi-chevron-up"); + element.classList.add("bi-chevron-down"); + + }else{ + $('#div_bareme').show(); + $("#masquerBareme").val("1"); + //$("#span_bareme").text("[-]"); + + element.classList.remove("bi-chevron-down"); + element.classList.add("bi-chevron-up"); + + actualiser_detailbareme_college(); + } + + afficheNombreLigneBaremeCollege('detailbareme'); +} + + +function afficheNombreLigneBaremeCollege(table) +{ + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxnbrelignebaremecollege/"+table+"/", + type : 'post', + data: "table="+table, + error: function(errorData) { + }, + success: function(data) { + if(table=="garantiesbaremepriseencharge"){ + $("#garantiesbaremepriseencharge").html(data); + }else if(table=="garantiesbaremepriseenchargelienparente"){ + $("#garantiesbaremepriseenchargelienparente").html(data); + }else if(table=="actesbaremepriseencharge"){ + $("#actesbaremepriseencharge").html(data); + }else if(table=="actesbaremepriseenchargelienparente"){ + $("#actesbaremepriseenchargelienparente").html(data); + }else if(table=="detailbareme"){ + $("#detailbareme").html(data); + } + }, + complete: function() { + + } + }); +} + +function actualiser_detailbareme_college() +{ + idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val(); + + donnees = 'idBaremePriseEnCharge='+idBaremePriseEnCharge; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinsererdetailbaremecollege/", + type : 'post', + data: donnees, + error: function(errorData){ + //alert("Erreur : "+errorData); + }, + success: function(data) { + //alert("Success : "+data); + $('#div_bareme').html(data); + + + }, + complete: function() { + + } + }); + +} + +function afficher_consulter_actes_garantiebareme(idBaremePriseEnCharge, codeGarantie){ + + + donnees = 'codeGarantie='+codeGarantie; + donnees += '&idBaremePriseEnCharge='+idBaremePriseEnCharge; + + $("#div_patienter").html(''); + + $("#div_patienter").html('
' + '' + '
'); + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsulteractesgarantiebareme/", + type : 'post', + data: donnees, + error: function(errorData){ + //alert("Erreur : "+errorData); + }, + success: function(data) { + //alert("Success : "+data); + + + $('#div_actesgarantiebareme').html(data); + $('#div_actesgarantiebareme').modal("show"); + + appliquerDataTableBareme(); + + $('#div_actesgarantiebareme').on('shown.bs.modal', function(){ + stylechampsRequis(); + }); + + afficherMasquerGarantiesBaremeCollege(); + afficherMasquerGarantiesBaremeLienParenteCollege(); + afficherMasquerActeBaremeCollege(); + afficherMasquerActeBaremeLienParenteCollege(); + + $(".datepicker").datepicker(); + $("#codeActe").selectpicker(); + $("#codeActeLienParente").selectpicker(); + $("#div_patienter").html(''); + }, + complete: function() { + afficheNombreLigneBaremeCollege('garantiesbaremepriseencharge'); + afficheNombreLigneBaremeCollege('garantiesbaremepriseenchargelienparente'); + afficheNombreLigneBaremeCollege('actesbaremepriseencharge'); + afficheNombreLigneBaremeCollege('actesbaremepriseenchargelienparente'); + } + }); +} + +function appliquerDataTableBareme(){ + try{ + $('.tabbareme').DataTable({ + "lengthMenu": [3, 6, 10], + "scrollX": true, + "scrollY": "20vh", + "pagingType": "full_numbers", + "autoWidth": true, + "bFilter": false, + "bLengthChange": false, + "orderMulti": false, + "orderCellsTop": true, + "language": { + "lengthMenu":"Affiche _MENU_ par page", + "zeroRecords": "Désolé - Aucune donnée trouvée", + "info": "_PAGE_ sur _PAGES_ pages", + "infoEmpty": "Pas d'enregistrement", + "search": "Recherche:", + "paginate": { + "next": "►", + "previous": "◄", + "first": "|◄", + "last": "►|" + }, + "infoFiltered": "(filtré de _MAX_ total enregistrements)" + } + }); + + } + catch(err){ + return false; + } +} + +function afficherMasquerGarantiesBaremeCollege() +{ + masquerGarantie = $("#masquerGarantie").val(); + + + if(masquerGarantie == undefined){ + masquerGarantie = "1"; + } + + //alert(masquerGarantie); + + if(masquerGarantie=="1"){ + $('#div_garanties_masquer').hide(); + $("#masquerGarantie").val("0"); + $("#span_garantie").text("[+]"); + + }else{ + $('#div_garanties_masquer').show(); + $("#masquerGarantie").val("1"); + //$("#dateEffetGarantie").focus(); + + actualiser_bareme_garantie_college(); + $("#span_garantie").text("[-]"); + + $("#masquerGarantieLienParente").val("1"); + $("#masquerActe").val("1"); + $("#masquerActeLienParente").val("1"); + + afficherMasquerGarantiesBaremeLienParenteCollege(); + afficherMasquerActeBaremeCollege(); + afficherMasquerActeBaremeLienParenteCollege(); + } + + afficheNombreLigneBaremeCollege('garantiesbaremepriseencharge'); +} + +function afficherMasquerGarantiesBaremeLienParenteCollege() +{ + masquerGarantieLienParente = $("#masquerGarantieLienParente").val(); + + + + if(masquerGarantieLienParente == undefined){ + masquerGarantieLienParente = "1"; + } + + if(masquerGarantieLienParente=="1"){ + $('#div_garanties_lienparente_masquer').hide(); + $("#masquerGarantieLienParente").val("0"); + $("#span_garantie_lienparente").text("[+]"); + + }else{ + $('#div_garanties_lienparente_masquer').show(); + $("#masquerGarantieLienParente").val("1"); + + actualiser_bareme_garantie_lienparente_college(); + $("#span_garantie_lienparente").text("[-]"); + + $("#masquerGarantie").val("1"); + $("#masquerActe").val("1"); + $("#masquerActeLienParente").val("1"); + + afficherMasquerGarantiesBaremeCollege(); + afficherMasquerActeBaremeCollege(); + afficherMasquerActeBaremeLienParenteCollege(); + } + + afficheNombreLigneBaremeCollege('garantiesbaremepriseenchargelienparente'); +} + +function afficherMasquerActeBaremeCollege() +{ + masquerActe = $("#masquerActe").val(); + + if(masquerActe == undefined){ + masquerActe = "1"; + } + + if(masquerActe=="1"){ + $('#div_acte_masquer').hide(); + $("#masquerActe").val("0"); + $("#span_acte").text("[+]"); + + }else{ + $('#div_acte_masquer').show(); + $("#masquerActe").val("1"); + + actualiser_bareme_acte_college(); + $("#span_acte").text("[-]"); + + $("#masquerGarantie").val("1"); + $("#masquerGarantieLienParente").val("1"); + $("#masquerActeLienParente").val("1"); + + afficherMasquerGarantiesBaremeCollege(); + afficherMasquerGarantiesBaremeLienParenteCollege(); + afficherMasquerActeBaremeLienParenteCollege(); + } + + afficheNombreLigneBaremeCollege('actesbaremepriseencharge'); +} + +function afficherMasquerActeBaremeLienParenteCollege() +{ + masquerActeLienParente = $("#masquerActeLienParente").val(); + + if(masquerActeLienParente == undefined){ + masquerActeLienParente = "1"; + } + + if(masquerActeLienParente=="1"){ + $('#div_acte_lienparente_masquer').hide(); + $("#masquerActeLienParente").val("0"); + $("#span_acte_lienparente").text("[+]"); + + }else{ + $('#div_acte_lienparente_masquer').show(); + $("#masquerActeLienParente").val("1"); + + actualiser_bareme_acte_lienparente_college(); + $("#span_acte_lienparente").text("[-]"); + + $("#masquerGarantie").val("1"); + $("#masquerGarantieLienParente").val("1"); + $("#masquerActe").val("1"); + + afficherMasquerGarantiesBaremeCollege(); + afficherMasquerGarantiesBaremeLienParenteCollege(); + afficherMasquerActeBaremeCollege(); + } + + afficheNombreLigneBaremeCollege('actesbaremepriseenchargelienparente'); +} + +function stylechampsRequis(){ + var requis = $('input,select,textarea').filter('[required]:visible'); + + requis.each(function(){ + $(this).focus(function(){ + $(this).css('borderColor','red'); + }); + $(this).blur(function(){ + $(this).css('borderColor','#cccccc'); + }); + }); + +} + +function actualiser_bareme_garantie_college() +{ + codeGarantie = $("#codeGarantie").val(); + idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val(); + + + donnees = 'codeGarantie='+codeGarantie; + donnees += '&idBaremePriseEnCharge='+idBaremePriseEnCharge; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinsererbaremegarantiecollege/", + type : 'post', + data: donnees, + error: function(errorData){ + //alert("Erreur : "+errorData); + }, + success: function(data) { + //alert("Success : "+data); + $('#div_garanties_bareme').html(data); + + + }, + complete: function() { + + } + }); + +} + +function actualiser_bareme_garantie_lienparente_college() +{ + codeGarantie = $("#codeGarantie").val(); + idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val(); + + donnees = 'codeGarantie='+codeGarantie; + donnees += '&idBaremePriseEnCharge='+idBaremePriseEnCharge; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinsererbaremegarantielienparentecollege/", + type : 'post', + data: donnees, + error: function(errorData){ + //alert("Erreur : "+errorData); + }, + success: function(data) { + //alert("Success : "+data); + $('#div_garanties_bareme_lienparente').html(data); + + + }, + complete: function() { + + } + }); + +} + +function actualiser_bareme_acte_college() +{ + codeGarantie = $("#codeGarantie").val(); + idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val(); + + + donnees = 'codeGarantie='+codeGarantie; + donnees += '&idBaremePriseEnCharge='+idBaremePriseEnCharge; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinsererbaremeactecollege/", + type : 'post', + data: donnees, + error: function(errorData){ + //alert("Erreur : "+errorData); + }, + success: function(data) { + //alert("Success : "+data); + $('#div_actes_bareme').html(data); + + + }, + complete: function() { + + } + }); + +} + +function actualiser_bareme_acte_lienparente_college() +{ + codeGarantie = $("#codeGarantie").val(); + idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val(); + + + + donnees = 'codeGarantie='+codeGarantie; + donnees += '&idBaremePriseEnCharge='+idBaremePriseEnCharge; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinsererbaremeactelienparentecollege/", + type : 'post', + data: donnees, + error: function(errorData){ + //alert("Erreur : "+errorData); + }, + success: function(data) { + //alert("Success : "+data); + $('#div_actes_lienparente').html(data); + + + }, + complete: function() { + + } + }); + +} + + +function consosadherent(){ + + var idAdherent = $('#idAdherent').val(); + + $("#div_patienter").html('
' + '' + '
'); + + //Ajaxlimiteaddadherent + donnees = 'idAdherent='+idAdherent; + + //alert(donnees); + //return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsosadherent/", + type : 'post', + data: donnees, + error: function(errorData){ + alert("Erreur : "+errorData); + }, + success: function(data) { + //alert("Success : "+data); + $("#div_patienter").html(''); + $('#div_consos_adherent').html(data); + $('#div_consos_adherent').modal("show"); + }, + complete: function() { + + } + }); +} + + +function consosbeneficiaire(){ + //\u00ea, \u00e9 + + var idBeneficiaire = $('#idBeneficiaire').val(); + + $("#div_patienter").html('
' + '' + '
'); + + //Ajaxlimiteaddadherent + donnees = 'idBeneficiaire='+idBeneficiaire; + + //alert(donnees); + //return; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsosbeneficiaire/", + type : 'post', + data: donnees, + error: function(errorData){ + alert("Erreur : "+errorData); + }, + success: function(data) { + //alert("Success : "+data); + $("#div_patienter").html(''); + $('#div_consos_beneficiaire').html(data); + $('#div_consos_beneficiaire').modal("show"); + }, + complete: function() { + + } + }); +} + + +function consulter_envois_sms() +{ + donnees = ""; + donnees_retour = ""; + + date1 = $("#date1").val(); + date2 = $("#date2").val(); + + donnees += 'date1=' + date1; + donnees += '&date2=' + date2; + + $("#div_sms").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdestinatairesms/consulter/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_sms").html(donnees_retour); + $("#nbligne").val("Lignes : "+$("#nbligne_info").val()); + } + }); +} + +function consulter_envois_whatsapp() +{ + donnees = ""; + donnees_retour = ""; + + date1 = $("#date1").val(); + date2 = $("#date2").val(); + + donnees += 'date1=' + date1; + donnees += '&date2=' + date2; + + $("#div_sms").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdestinatairesms/consulterwhatsapp/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_sms").html(donnees_retour); + $("#nbligne").val("Lignes : "+$("#nbligne_info").val()); + } + }); +} + +function consulter_envois_whatsapp_en_cours() +{ + donnees = ""; + donnees_retour = ""; + + date1 = $("#date1").val(); + date2 = $("#date2").val(); + + donnees += 'date1=' + date1; + donnees += '&date2=' + date2; + + $("#div_sms").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdestinatairesms/consulterwhatsappencours/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_sms").html(donnees_retour); + $("#nbligne").val("Lignes : "+$("#nbligne_info").val()); + } + }); +} + +function mettre_sms_commun_attente_assureur() +{ + textMessage = $("#textMessageCommun").val(); + textMessage = textMessage.trim(); + + if (textMessage<=" ") + { + v_msg="Veuillez saisir le message!"; + v_msgEng="Please enter the message!"; + alert_ebene(v_msg, v_msgEng); + + $("#textMessageCommun").focus(); + return; + } + + donnees = "textMessage="+textMessage; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdestinatairesms/mettrewhatsappattenteassureur/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + // $('#div_test_gabarit').html(data); + }, + complete: function() { + v_msg="Messages mis dans la queue des envois!"; + v_msgEng="Messages in the queue!"; + alert_ebene(v_msg, v_msgEng); + re_init_envoi_sms(); + } + }); +} + +function mettre_sms_commun_attente_prestataire() +{ + codePrestataire = $("#codePrestataire").val(); + + if (codePrestataire<="0") + { + v_msg="Veuillez sélectionner un prestataire!"; + v_msgEng="Please select an insured!"; + alert_ebene(v_msg, v_msgEng); + $("#codePrestataire").focus(); + + return; + } + + textMessage = $("#textMessageCommun").val(); + textMessage = textMessage.trim(); + + if (textMessage<=" ") + { + v_msg="Veuillez saisir le message!"; + v_msgEng="Please enter the message!"; + alert_ebene(v_msg, v_msgEng); + + $("#textMessageCommun").focus(); + return; + } + + donnees = "textMessage="+textMessage; + donnees += "&codePrestataire="+codePrestataire; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdestinatairesms/mettrewhatsappattenteprestataire/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + // $('#div_test_gabarit').html(data); + }, + complete: function() { + v_msg="Messages mis dans la queue des envois!"; + v_msgEng="Messages in the queue!"; + alert_ebene(v_msg, v_msgEng); + re_init_envoi_sms(); + } + }); +} + +function mettre_sms_commun_attente_tous() +{ + codePrestataire = $("#codePrestataire").val(); + + if (codePrestataire<="0") + { + v_msg="Veuillez sélectionner un prestataire!"; + v_msgEng="Please select an insured!"; + alert_ebene(v_msg, v_msgEng); + $("#codePrestataire").focus(); + + return; + } + + textMessage = $("#textMessageCommun").val(); + textMessage = textMessage.trim(); + + if (textMessage<=" ") + { + v_msg="Veuillez saisir le message!"; + v_msgEng="Please enter the message!"; + alert_ebene(v_msg, v_msgEng); + + $("#textMessageCommun").focus(); + return; + } + + donnees = "textMessage="+textMessage; + donnees += "&codePrestataire="+codePrestataire; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdestinatairesms/mettrewhatsappattenteassureurprestataire/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + // $('#div_test_gabarit').html(data); + }, + complete: function() { + v_msg="Messages mis dans la queue des envois!"; + v_msgEng="Messages in the queue!"; + alert_ebene(v_msg, v_msgEng); + re_init_envoi_sms(); + } + }); +} + +function re_init_envoi_sms() +{ + window.location.assign($("#racineWeb" ).val()+"Envoisms/"); +} + +function lienparente(){ + + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + donnees = "numeroBeneficiaire="+numeroBeneficiaire; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlienparente/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + $('#div_lien').html(data); + }, + complete: function() { + + } + }); + +} + +function affichelisteprestataires(libelle) +{ + if(libelle!='' && libelle.length >="3") + { + var donnees = 'libelle='+ libelle; + + vLink = "Ajaxchargerlisteprestataires/"; + $.ajax({ + type: "POST", + url: $("#racineWeb").val()+vLink, + data:donnees, + beforeSend: function(){ + $("#searchInputPrestataire").css("background","#FFF url(Bootstrap/images/LoaderIcon.gif) no-repeat 165px"); + }, + success: function(data){ + $("#div_selection_prestataire").show(); + $("#div_selection_prestataire").html(data); + $("#searchInputPrestataire").css("background","#FFF"); + } + }); + }else{ + $("#div_selection_prestataire").hide(); + return false; + } +} + +function selectPrestataire(code, libelle){ + nomForm = $("#nomForm").val(); + + $("#searchInputPrestataire").val(libelle); + $("#div_selection_prestataire").hide(); + $("#codePrestataire").val(code); +} + +function estDateAnncienne(date) { + // Obtenir la date d'aujourd'hui sans l'heure + + + const aujourdHui = new Date(); + aujourdHui.setHours(0, 0, 0, 0); // Réinitialiser les heures pour une comparaison pure de dates + + // S'assurer que l'argument 'date' est un objet Date + const dateComparee = new Date(date); + dateComparee.setHours(0, 0, 0, 0); // De même, ignorer l'heure + + // Comparer les dates + return dateComparee > aujourdHui; +} + +function convertirEnFormatISO(dateStr) { + // Détection et parsing de la date selon son format + let day, month, year; + + // Format français (JJ/MM/AAAA) + const matchFr = dateStr.match(/^(\d{2})\/(\d{2})\/(\d{4})$/); + if (matchFr) { + day = matchFr[1]; + month = matchFr[2]; + year = matchFr[3]; + } + // Format anglais (MM/JJ/AAAA) + else if (dateStr.match(/^(\d{2})\/(\d{2})\/(\d{4})$/)) { + const matchEn = dateStr.match(/^(\d{2})\/(\d{2})\/(\d{4})$/); + day = matchEn[2]; + month = matchEn[1]; + year = matchEn[3]; + } + // Format ISO (AAAA-MM-JJ) - on la retourne directement + else if (dateStr.match(/^(\d{4})-(\d{2})-(\d{2})$/)) { + return dateStr; // Déjà au bon format + } + // Format non reconnu + else { + throw new Error("Format de date non reconnu"); + } + + // Validation de la date + const date = new Date(`${year}-${month}-${day}`); + if (isNaN(date.getTime())) { + throw new Error("Date invalide"); + } + + // Formatage en AAAA-MM-JJ + return `${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')}`; +} + + +function controle_date(dateSoin) +{ + + + dateSoin = convertirEnFormatISO(dateSoin) + + if(estDateAnncienne(dateSoin)) + { + v_msg="La date de soin doit être antérieure ou égale à la date du jour!"; + v_msgEng="The treatment date must be before or equal to today's date!"; + + alert_ebene(v_msg, v_msgEng); + + $("#dateConsultation").val(""); + $("#dateConsultation").focus(); + + return; + } + +} + +function formatNumerique(controle){ + controle.value = controle.value.replace(/ /g,""); + return; +} + +function formatMonetaire(controle){ + controle.value = formatCurrency(controle.value); + return; +} + +var formatCurrency = function(num){ + var str = num.toString().replace("", ""), parts = false, output = [], i = 1, formatted = null; + if(str.indexOf(".") > 0) { + parts = str.split("."); + str = parts[0]; + } + str = str.split("").reverse(); + for(var j = 0, len = str.length; j < len; j++) { + if(str[j] != " ") { + output.push(str[j]); + if(i%3 == 0 && j < (len - 1)) { + output.push(" "); + } + i++; + } + } + formatted = output.reverse().join(""); + return(formatted + ((parts) ? "." + parts[1].substr(0, 2) : "")); +}; + +function enregistrer_demande_remboursement() +{ + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + commentaires = $("#commentaires").val(); + + commentaires = commentaires.trim(); + + if (commentaires<=" ") + { + v_msg="Le commentaire est obligatoire!"; + v_msgEng="Comment is required!"; + alert_ebene(v_msg, v_msgEng); + + $("#commentaires").focus(); + return; + } + + + v_msg="Confirmez-vous l'enregistrement de votre demande?"; + v_msgEng="Do you confirm the registration of your request?"; + + confirm_ebene(v_msg, v_msgEng) + .then((isConfirmed) => { + if (isConfirmed) { + // L'utilisateur a confirmé + donnees = 'numeroBeneficiaire='+ numeroBeneficiaire+'&commentaires='+commentaires; + vLink = "Ajaxdemanderemboursement/enregistrerdemande/"; + + $.ajax({ + type: "POST", + url: $("#racineWeb").val()+vLink, + data:donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + // $('#div_test_gabarit').html(data); + + }, + complete: function() { + + actualiser_remboursement(); + } + + }); + + } else { + // L'utilisateur a annulé + console.log("Confirmation refusée"); + } + }); + +} + +function listerremboursement() +{ + + + d1 = $("#d1").val(); + d2 = $("#d2").val(); + codeEtatDemandeRemboursement = $("#codeEtatDemandeRemboursement").val(); + + donnees = 'd1='+ d1+'&d2='+d2+'&codeEtatDemandeRemboursement='+codeEtatDemandeRemboursement; + + $("#div_dossiers").html('
' + '' + '
'); + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdemanderemboursement/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + + + $('#div_dossiers').html(data); + }, + complete: function() { + + } + }); +} + +function selectionner_remboursement(idDemande) +{ + $("#contenu").html('
' + '' + '
'); + + donnees = 'idDemande='+idDemande; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdemanderemboursement/selectionnerremb/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + + + + }, + complete: function() { + actualiser_remboursement(); + } + }); +} + +function actualiser_remboursement() +{ + window.location.assign($("#racineWeb" ).val()+"Remboursement/"); + +} + +function liste_contestation() +{ + window.location.assign($("#racineWeb" ).val()+"Historiquecontestation/"); + +} + + +function listerdossiercontestes() +{ + + + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdossierscontestes/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + + + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function reactiver_contestation(numeroFeuilleMaladie) +{ + let v_msg = "Veuillez saisir le motif de la réactivation de ce dossier médical!"; + let v_msgEng = "Please enter the reason for reactivating this medical record!"; + + prompt_ebene(v_msg, v_msgEng, "", function(motif_activation) { + if (!motif_activation || motif_activation.trim() === "") { + v_msg = "Vous devez saisir un motif!"; + v_msgEng = "You have to enter a reason!"; + alert_ebene(v_msg, v_msgEng); + return; + } + + v_msg="Confirmez-vous la réactivation?"; + v_msgEng="Do you confirm reactivation?"; + + + confirm_ebene(v_msg, v_msgEng) + .then((isConfirmed) => { + if (isConfirmed) { + // L'utilisateur a confirmé + let donnees = "numeroFeuilleMaladie=" + numeroFeuilleMaladie; + donnees += "&motif=" + encodeURIComponent(motif_activation); + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdossierscontestes/reactiver/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + }, + complete: function() { + v_msg="Opération effectuée avec succès!"; + v_msgEng="Operation successfully completed"; + alert_ebene(v_msg, v_msgEng); + + liste_contestation(); + } + }); + return; + } else { + // L'utilisateur a annulé + v_msg="Opération annulée!"; + v_msgEng="Operation canceled!"; + alert_ebene(v_msg, v_msgEng); + + return; + } + }); + }); +} + +function listerrdv() +{ + + + d1 = $("#d1").val(); + d2 = $("#d2").val(); + + codeEtatRdv = $("#codeEtatRdv").val(); + + donnees = 'd1='+ d1+'&d2='+d2+'&codeEtatRdv='+codeEtatRdv; + + $("#div_dossiers").html('
' + '' + '
'); + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdemanderdv/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + + + $('#div_dossiers').html(data); + }, + complete: function() { + + } + }); +} + +function selectionner_rdv(idDemande) +{ + donnees = 'idDemande='+idDemande; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdemanderdv/selectionner/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + + + + }, + complete: function() { + ouvrir_rdv(); + } + }); +} + +function ouvrir_rdv() +{ + window.location.assign($("#racineWeb" ).val()+"Rendezvous/"); + +} + + +function fin_rdv(debut) +{ + $("#finRdv").val(debut); +} + + +function estInferieurDate(d_fin, d_debut) { + // Obtenir la date d'aujourd'hui sans l'heure + + + const debut = new Date(d_debut); + debut.setHours(0, 0, 0, 0); // Réinitialiser les heures pour une comparaison pure de dates + + // S'assurer que l'argument 'date' est un objet Date + const fin = new Date(d_fin); + fin.setHours(0, 0, 0, 0); // De même, ignorer l'heure + + // Comparer les dates + return debut > fin ; +} + +function controle_date_fin_rdv(dateFin) +{ + + debutRdv = $("#debutRdv").val(); + dateDebut = convertirEnFormatISO(debutRdv); + + dateFin = convertirEnFormatISO(dateFin) + + if(estInferieurDate(dateFin, dateDebut)) + { + v_msg="La date de fin doit être supérieure ou égale à la date de début!"; + v_msgEng="The end date must be greater than or equal to the start date!"; + + alert_ebene(v_msg, v_msgEng); + + $("#finRdv").val(debutRdv); + $("#finRdv").focus(); + + return; + } + +} + + +function enregistrer_rdv() +{ + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + debutRdv = $("#debutRdv").val(); + finRdv = $("#finRdv").val(); + codePrestataire = $("#codePrestataire").val(); + codeSpecialite = $("#codeSpecialite").val(); + + if (numeroBeneficiaire<=" ") + { + v_msg="Sélectionner un bénéficiaire!"; + v_msgEng="Select a beneficiary!"; + alert_ebene(v_msg, v_msgEng); + + $("#numeroBeneficiaire").focus(); + return; + } + + if (debutRdv<=" ") + { + v_msg="La date de début de rendez-vous est obligatoire!"; + v_msgEng="The appointment start date is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#debutRdv").focus(); + return; + } + + if (finRdv<=" ") + { + v_msg="La motif de fin de rendez-vous est obligatoire!"; + v_msgEng="The end date of the appointment is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#finRdv").focus(); + return; + } + + if (codePrestataire<=" ") + { + v_msg="Sélectionner un prestataire pour le rendez-vous!"; + v_msgEng="Select a provider for the appointment!"; + alert_ebene(v_msg, v_msgEng); + + $("#searchInputPrestataire").focus(); + return; + } + + if (codeSpecialite<=" ") + { + v_msg="La spécialité de rendez-vous est obligatoire!"; + v_msgEng="The appointment specialty is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#codeSpecialite").focus(); + return; + } + + motifRdv = $("#motifRdv").val(); + motifRdv = motifRdv.trim(); + + if (motifRdv<=" ") + { + v_msg="Le motif de rendez-vous est obligatoire!"; + v_msgEng="The reason for the appointment is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#motifRdv").focus(); + return; + } + + + v_msg="Confirmez-vous l'enregistrement de votre demande?"; + v_msgEng="Do you confirm the registration of your request?"; + + confirm_ebene(v_msg, v_msgEng) + .then((isConfirmed) => { + if (isConfirmed) { + // L'utilisateur a confirmé + donnees = 'numeroBeneficiaire='+ numeroBeneficiaire+'&debutRdv='+debutRdv; + donnees += '&finRdv='+finRdv+'&codePrestataire='+codePrestataire; + donnees += '&codeSpecialite='+codeSpecialite+'&motifRdv='+motifRdv; + + vLink = "Ajaxdemanderdv/enregistrer/"; + + $.ajax({ + type: "POST", + url: $("#racineWeb").val()+vLink, + data:donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + // $('#div_test_gabarit').html(data); + + }, + complete: function() { + // ouvrir_rdv(); + historique_rdv(); + } + + }); + + } else { + // L'utilisateur a annulé + console.log("Confirmation refusée"); + } + }); + +} + +function modifier_rdv() +{ + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + debutRdv = $("#debutRdv").val(); + finRdv = $("#finRdv").val(); + codePrestataire = $("#codePrestataire").val(); + codeSpecialite = $("#codeSpecialite").val(); + + if (numeroBeneficiaire<=" ") + { + v_msg="Sélectionner un bénéficiaire!"; + v_msgEng="Select a beneficiary!"; + alert_ebene(v_msg, v_msgEng); + + $("#numeroBeneficiaire").focus(); + return; + } + + if (debutRdv<=" ") + { + v_msg="La date de début de rendez-vous est obligatoire!"; + v_msgEng="The appointment start date is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#debutRdv").focus(); + return; + } + + if (finRdv<=" ") + { + v_msg="La motif de fin de rendez-vous est obligatoire!"; + v_msgEng="The end date of the appointment is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#finRdv").focus(); + return; + } + + if (codePrestataire<=" ") + { + v_msg="Sélectionner un prestataire pour le rendez-vous!"; + v_msgEng="Select a provider for the appointment!"; + alert_ebene(v_msg, v_msgEng); + + $("#searchInputPrestataire").focus(); + return; + } + + if (codeSpecialite<=" ") + { + v_msg="La spécialité de rendez-vous est obligatoire!"; + v_msgEng="The appointment specialty is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#codeSpecialite").focus(); + return; + } + + motifRdv = $("#motifRdv").val(); + motifRdv = motifRdv.trim(); + + if (motifRdv<=" ") + { + v_msg="Le motif de rendez-vous est obligatoire!"; + v_msgEng="The reason for the appointment is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#motifRdv").focus(); + return; + } + + + v_msg="Confirmez-vous la modification de votre demande?"; + v_msgEng="Do you confirm the modification of your request?"; + + confirm_ebene(v_msg, v_msgEng) + .then((isConfirmed) => { + if (isConfirmed) { + // L'utilisateur a confirmé + donnees = 'numeroBeneficiaire='+ numeroBeneficiaire+'&debutRdv='+debutRdv; + donnees += '&finRdv='+finRdv+'&codePrestataire='+codePrestataire; + donnees += '&codeSpecialite='+codeSpecialite+'&motifRdv='+motifRdv; + + vLink = "Ajaxdemanderdv/modifier/"; + + $.ajax({ + type: "POST", + url: $("#racineWeb").val()+vLink, + data:donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + // $('#div_test_gabarit').html(data); + + }, + complete: function() { + + historique_rdv(); + } + + }); + + } else { + // L'utilisateur a annulé + console.log("Confirmation refusée"); + } + }); + +} + +function historique_rdv() +{ + window.location.assign($("#racineWeb" ).val()+"Historiquerdv/"); + +} + +function envoyer_message() +{ + window.location.assign($("#racineWeb" ).val()+"Envoisms/"); +} + +function alert_limite(code) +{ + if(code=="G"){ + v_msg="Limite du plafond ou du nombre de transaction est atteint pour cette garantie !"; + v_msgEng="Limit of the ceiling or number of transactions has been reached for this guarantee!"; + }else{ + v_msg="Limite du plafond ou du nombre de transaction est atteint pour cet acte !"; + v_msgEng="Limit of the ceiling or number of transactions has been reached for this act!"; + } + + + alert_ebene(v_msg, v_msgEng); + return; +} + +//Face KANE 26-09-2025 +function re_init_photo_face() +{ + var photo = document.getElementById('photo_face'); + photo.setAttribute('src', ""); + $('#message_face').html(""); + $('#image_face').val(""); + $("#div_wait_face_ebene").html(''); +} + +function ebene_init_photo_face() // OK +{ + faceRegistered = $("#faceRegistered").val(); + if(faceRegistered=="1") + { + v_msg="Cettte personne a déjà une face dans le système!"; + v_msgEng="This person already has a face in the system!"; + alert_ebene(v_msg, v_msgEng); + $('#message_face').html(""); + return; + } + re_init_photo_face(); + $("#btn_pop_save_face").click(); +} + +function ebene_enregistrer_photo_face() // OK +{ + $("#ebene_confirmer_photo_face").prop('disabled', true); + $("#ebene_supprimer_photo_face").prop('disabled', true); + $("#ebene_take_photo_face").prop('disabled', true); + $("#motif").prop('disabled', true); + + $("ebene_confirmer_photo_face").prop('disabled', true); + $("ebene_supprimer_photo_face").prop('disabled', true); + $("ebene_take_photo_face").prop('disabled', true); + $("motif").prop('disabled', true); + + $('#message_face').html(""); + $("#div_wait_face_ebene").html(''); + + $("#okId").val("-1"); + $("#okId_face").val("-1"); + + $("#del_face").val("0"); + image_face = $("#image_face").val(); + if(image_face<=" ") + { + v_msg="Veuillez prendre une photo!"; + v_msgEng="Please take a photo!"; + alert_ebene(v_msg, v_msgEng); + return; + } + + $("#div_wait_face_ebene").html('
' + '' + '
'); + + compare_face = $("#compare_face").val(); + + v_idBeneficiaire=$("#idBeneficiaire_C").val(); + + var dataURL = canvas.toDataURL("image/jpeg"); + + $.ajax({ + url: $("#racineWeb").val()+"Fichebeneficiaire/ebeneenregistrerface/", + type: 'POST', + data: {'image_face' : dataURL, 'compare_face' : compare_face , 'del_face' : "0"}, + success: function(data) { + $("#ebene_take_photo_face").prop('disabled', false); + $("#div_wait_face_ebene").html(''); + $("#message_face").html(data); + photo_succes = $("#photo_succes").val(); + if(photo_succes=="1") + { + v_msg="Enrôlement effectué avec succès!"; + v_msgEng="Enrollment completed successfully!!"; + // alert_ebene(v_msg, v_msgEng); + setTimeout(() => { + window.location.assign($("#racineWeb" ).val()+"Fichebeneficiaire/"+v_idBeneficiaire); + }, 1000) + } + }, + error: function(data) { + }, + complete: function(data) { + $("#div_wait_face_ebene").html(''); + } + }); +} + +function fiche_beneficiaire() +{ + idBeneficiaire = $("#idBeneficiaire").val(); + + window.location.assign($("#racineWeb" ).val()+"Fichebeneficiaire/"+idBeneficiaire); +} + +/* +function actualiser_page() +{ + window.location.assign($("#racineWeb" ).val()+$("#vue" ).val()+"/"); +} +*/ + +function actualiser_page() { + + $("#contenu").html('
' + '' + '
'); + + + location.reload(); +} + +function prestataires(){ + $("#contenu").html('
' + '' + '
'); + + window.location.assign($("#racineWeb" ).val()+"Prestataires/"); +} + +function historiqueremboursement(){ + $("#contenu").html('
' + '' + '
'); + + window.location.assign($("#racineWeb" ).val()+"Historiqueremboursement/"); +} + +function historiquecontestation(){ + $("#contenu").html('
' + '' + '
'); + + window.location.assign($("#racineWeb" ).val()+"Historiquecontestation/"); +} + +function gedglobal(){ + $("#contenu").html('
' + '' + '
'); + + window.location.assign($("#racineWeb" ).val()+"Ged/"); +} + +function historiquerdv(){ + $("#contenu").html('
' + '' + '
'); + + window.location.assign($("#racineWeb" ).val()+"Historiquerdv/"); +} + +function envoisms(){ + $("#contenu").html('
' + '' + '
'); + + window.location.assign($("#racineWeb" ).val()+"Envoisms/"); +} + + +function pharmaciegarde(){ + $("#contenu").html('
' + '' + '
'); + + window.location.assign($("#racineWeb" ).val()+"Pharmaciegarde()/"); +} + +function accueilassure(){ + $("#contenu").html('
' + '' + '
'); + + window.location.assign($("#racineWeb" ).val()+"Accueilassure/"); +} + +function patience_connexion(){ + $("#div_patienter").html(''); + + $("#div_patienter").html('
' + '' + '
'); +} + +function enregistrer_demande_consultation() +{ + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + codePrestataire = $("#codePrestataire").val(); + codeSpecialite = $("#codeSpecialite").val(); + + if (numeroBeneficiaire<=" ") + { + v_msg="Sélectionner un bénéficiaire!"; + v_msgEng="Select a beneficiary!"; + alert_ebene(v_msg, v_msgEng); + + $("#numeroBeneficiaire").focus(); + return; + } + + if (codePrestataire<=" ") + { + v_msg="Sélectionner un prestataire pour le rendez-vous!"; + v_msgEng="Select a provider for the appointment!"; + alert_ebene(v_msg, v_msgEng); + + $("#searchInputPrestataire").focus(); + return; + } + + if (codeSpecialite<=" ") + { + v_msg="La spécialité de rendez-vous est obligatoire!"; + v_msgEng="The appointment specialty is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#codeSpecialite").focus(); + return; + } + + motifConsultation = $("#motifConsultation").val(); + motifConsultation = motifConsultation.trim(); + + if (motifConsultation<=" ") + { + $("#motifConsultation").focus(); + + v_msg="Le motif de la consultation est obligatoire!"; + v_msgEng="The reason for the consultation is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + return; + } + + v_msg="Confirmez-vous l'enregistrement de votre demande?"; + v_msgEng="Do you confirm the registration of your request?"; + + confirm_ebene(v_msg, v_msgEng) + .then((isConfirmed) => { + if (isConfirmed) { + // L'utilisateur a confirmé + donnees = 'numeroBeneficiaire='+ numeroBeneficiaire; + donnees += '&codePrestataire='+codePrestataire; + donnees += '&codeSpecialite='+codeSpecialite; + donnees += '&motifConsultation='+motifConsultation; + + // alert(donnees); + // return; + + vLink = "Ajaxdemanderdv/enregistrerdemandeconsultation/"; + + $.ajax({ + type: "POST", + url: $("#racineWeb").val()+vLink, + data:donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + // $('#div_test_gabarit').html(data); + }, + complete: function() { + historique_demande_consultation(); + } + }); + + } else { + // L'utilisateur a annulé + console.log("Confirmation refusée"); + } + }); + +} + +function modifier_demande_consultation() +{ + alert("modifier_demande_consultation"); + + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + debutRdv = $("#debutRdv").val(); + finRdv = $("#finRdv").val(); + codePrestataire = $("#codePrestataire").val(); + codeSpecialite = $("#codeSpecialite").val(); + + if (numeroBeneficiaire<=" ") + { + v_msg="Sélectionner un bénéficiaire!"; + v_msgEng="Select a beneficiary!"; + alert_ebene(v_msg, v_msgEng); + + $("#numeroBeneficiaire").focus(); + return; + } + + if (debutRdv<=" ") + { + v_msg="La date de début de rendez-vous est obligatoire!"; + v_msgEng="The appointment start date is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#debutRdv").focus(); + return; + } + + if (finRdv<=" ") + { + v_msg="La motif de fin de rendez-vous est obligatoire!"; + v_msgEng="The end date of the appointment is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#finRdv").focus(); + return; + } + + if (codePrestataire<=" ") + { + v_msg="Sélectionner un prestataire pour le rendez-vous!"; + v_msgEng="Select a provider for the appointment!"; + alert_ebene(v_msg, v_msgEng); + + $("#searchInputPrestataire").focus(); + return; + } + + if (codeSpecialite<=" ") + { + v_msg="La spécialité de rendez-vous est obligatoire!"; + v_msgEng="The appointment specialty is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#codeSpecialite").focus(); + return; + } + + motifRdv = $("#motifRdv").val(); + motifRdv = motifRdv.trim(); + + if (motifRdv<=" ") + { + v_msg="Le motif de rendez-vous est obligatoire!"; + v_msgEng="The reason for the appointment is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#motifRdv").focus(); + return; + } + + + v_msg="Confirmez-vous la modification de votre demande?"; + v_msgEng="Do you confirm the modification of your request?"; + + confirm_ebene(v_msg, v_msgEng) + .then((isConfirmed) => { + if (isConfirmed) { + // L'utilisateur a confirmé + donnees = 'numeroBeneficiaire='+ numeroBeneficiaire+'&debutRdv='+debutRdv; + donnees += '&finRdv='+finRdv+'&codePrestataire='+codePrestataire; + donnees += '&codeSpecialite='+codeSpecialite+'&motifRdv='+motifRdv; + + vLink = "Ajaxdemanderdv/modifier/"; + + $.ajax({ + type: "POST", + url: $("#racineWeb").val()+vLink, + data:donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + // $('#div_test_gabarit').html(data); + + }, + complete: function() { + + historique_rdv(); + } + + }); + + } else { + // L'utilisateur a annulé + console.log("Confirmation refusée"); + } + }); + +} + +function historique_demande_consultation() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationsinitiees/"); +} + + +function listerdemandesconsultation() +{ + d1 = $("#d1").val(); + d2 = $("#d2").val(); + + donnees = 'd1='+ d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdemanderdv/listerdemandesconsultation/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + $('#div_dossiers').html(data); + }, + complete: function() { + + } + }); +} + +function consulter_detail_bareme_college(idBaremePriseEnCharge) +{ + window.location.assign($("#racineWeb" ).val()+"Consulterdetailbaremecollege/"+idBaremePriseEnCharge+"/"); +} + +function retour_detail_bareme_college() +{ + alert("retour_detail_bareme_college") + idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val(); + consulter_detail_bareme_college(idBaremePriseEnCharge); +} diff --git a/Js_sav/fonctions_kane.js b/Js_sav/fonctions_kane.js new file mode 100755 index 0000000..fa21bbc --- /dev/null +++ b/Js_sav/fonctions_kane.js @@ -0,0 +1,18512 @@ +// Gestion du menu burger - Version simplifiée +document.addEventListener('DOMContentLoaded', function() { + const burgerToggle = document.getElementById('burgerMenuToggle'); + const burgerDropdown = document.getElementById('burgerDropdown'); + + if (burgerToggle && burgerDropdown) { + // Ouvrir/fermer le menu burger + burgerToggle.addEventListener('click', function(e) { + e.preventDefault(); + e.stopPropagation(); + burgerDropdown.classList.toggle('show'); + }); + + // Fermer le menu quand on clique ailleurs sur la page + document.addEventListener('click', function(e) { + if (!e.target.closest('.burger-menu-container')) { + burgerDropdown.classList.remove('show'); + } + }); + + // Empêcher la fermeture quand on clique dans le menu dropdown + burgerDropdown.addEventListener('click', function(e) { + e.stopPropagation(); + }); + } +}); + + +function alert_ebene(p_msg, p_msg_eng) { + // Récupération de la langue sélectionnée + let codeLangue = $("#codeLangue").val(); + + // Choix du message en fonction de la langue + let message = (codeLangue === "en_US") ? p_msg_eng : p_msg; + + // Utilisation de SweetAlert pour afficher le message + Swal.fire({ + title: message, + icon: 'info', // Icône de type information + confirmButtonText: codeLangue === "en_US" ? 'OK' : 'D\'accord' + }); +} + + +function confirm_ebene(p_msg, p_msg_eng) { + // Récupération de la langue sélectionnée + let codeLangue = $("#codeLangue").val(); + + // Choix du message en fonction de la langue + let message = (codeLangue === "en_US") ? p_msg_eng : p_msg; + + // Utilisation de SweetAlert avec une promesse + return Swal.fire({ + title: message, + icon: 'warning', + showCancelButton: true, + confirmButtonText: codeLangue === "en_US" ? 'Yes' : 'Oui', + cancelButtonText: codeLangue === "en_US" ? 'No' : 'Non' + }).then((result) => { + return result.isConfirmed; // Retourne true si l'utilisateur confirme, false sinon + }); +} + + + +function prompt_ebene(p_msg, p_msg_eng, p_retour, callback) { + let codeLangue = $("#codeLangue").val(); + let message = (codeLangue === "en_US") ? p_msg_eng : p_msg; + + Swal.fire({ + title: message, + input: 'text', + inputValue: p_retour, + showCancelButton: true, + confirmButtonText: 'OK', + cancelButtonText: 'Annuler' + }).then((result) => { + if (result.isConfirmed) { + callback(result.value); // Exécute la fonction callback avec la valeur saisie + } else { + callback(null); // Annule l'opération + } + }); +} + + +var p_destinataires=""; +var p_message=""; + +function adherents_police() +{ + if ($("#idPolice_C" ).val()>"") + { + window.location.assign($("#racineWeb" ).val()+"Listeadherent/"); + } +} + +$.prototype.enable = function () { + $.each(this, function (index, el) { + $(el).removeAttr('disabled'); + }); +} + +$.prototype.disable = function () { + $.each(this, function (index, el) { + $(el).attr('disabled', 'disabled'); + }); +} + +$.prototype.unreadable = function () { + $.each(this, function (index, el) { + $(el).attr('READONLY', 'READONLY'); + }); +} + +$.prototype.readable = function () { + $.each(this, function (index, el) { + $(el).removeAttr('READONLY'); + }); +} + +Date.estAnneeBissextile = function (annee) { + return (((annee % 4 === 0) && (annee % 100 !== 0)) || (annee % 400 === 0)); +}; + +Date.getDaysInMonth = function (annee, month) { + return [31, (Date.estAnneeBissextile(annee) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]; +}; + +Date.prototype.estAnneeBissextile = function () { + return Date.estAnneeBissextile(this.getFullYear()); +}; + +Date.prototype.getDaysInMonth = function () { + return Date.getDaysInMonth(this.getFullYear(), this.getMonth()); +}; + +Date.prototype.addMonths = function (value) { + var n = this.getDate(); + this.setDate(1); + this.setMonth(this.getMonth() + value); + this.setDate(Math.min(n, this.getDaysInMonth())); + this.setDate(this.getDate()-1); + return this; +}; + +$( ".datepicker" ).datepicker({ + inline: true, + changeMonth: true, + changeYear: true, + yearRange: "c-60:c+20" + +}); + +/*les fonctions courantes et globales */ + +function get_age(dater) +{ + var td2 = $("#datejourfr_C").datepicker("getDate"); + return age = td2.getFullYear()-dater.getFullYear(); +} + +// function controle_age(dater, codeLienParente, controle) +function controle_age(dater, codeLienParente) +{ + age = get_age(dater); + $("#agepersonne").val("Âge : "+age); + + if (age>65) + { + alert("Âge "+age+" supérieur à 65 ans!"); + // controle.focus(); + return false; + } + + if ( (codeLienParente=="E")&& (age>21) ) + { + alert("Âge "+age+" => Enfant âgé de plus de 21 ans!"); + // controle.focus(); + return false; + } + + if ( (codeLienParente=="O")&& (age>21) ) + { + alert("Âge "+age+" => Enfant âgé de plus de 21 ans!"); + // controle.focus(); + return false; + } + + return true; +} + +/* Début JS client */ +function selectionner_client(id,no) +{ + $("#idClient_C").val(id); + $("#numeroClient_C").val(no); + $("#nomClient_C").val(""); +} + +function selectionner_client_d(id,no) +{ + $("#idClient_d_C").val(id); + $("#numeroClient_d_C").val(no); + $("#nomClient_d_C").val(""); +} + +function afficher_client_id() +{ + idClient=$("#idClient_C" ).val(); + + if (idClient>"") + { + ajax_context_client_afficher(idClient); + } +} + +function afficher_client_d_id() +{ + idClient=$("#idClient_d_C" ).val(); + + if (idClient>"") + { + ajax_context_client_d_afficher(idClient); + } +} + + +/* Fin JS client */ + +/* Début JS police */ +function selectionner_police(id,no) +{ + $("#idPolice_C" ).val(id); + $("#numeroPolice_C" ).val(no); +} + +function selectionner_police_d(id,no) +{ + $("#idPolice_d_C" ).val(id); + $("#numeroPolice_d_C" ).val(no); +} + +function afficher_police_id() +{ + idPolice=$("#idPolice_C" ).val(); + + if (idPolice>"") + { + ajax_context_police_afficher(idPolice); + } +} + +function afficher_police_d_id() +{ + idPolice=$("#idPolice_d_C" ).val(); + + if (idPolice>"") + { + ajax_context_police_d_afficher(idPolice); + } +} + + +/* Fin JS client */ + +/* Début JS adherent */ +function selectionner_adherent(id,no) +{ + $("#idAdherent_C" ).val(id); + $("#numeroAdherent_C" ).val(no); +} + +function afficher_adherent() +{ + if ($("#numeroAdherent_C" ).val()>"") + { + window.location.assign($("#racineWeb" ).val()+"Ficheadherent/"+$("#numeroAdherent_C" ).val()+"/"); + } +} + +function afficher_adherent_id() +{ + if ($("#idAdherent_C" ).val()>"") + { + // window.location.assign($("#racineWeb" ).val()+"Ficheadherent/"+$("#idAdherent_C" ).val()+"/"); + window.location.assign($("#racineWeb" ).val()+"Ficheadherent/"); + } +} +/* Fin JS adherent */ + +/* Début JS bénéficiare */ +function selectionner_beneficiaire(id,no) +{ + $("#idBeneficiaire_C").val(id); + $("#numeroBeneficiaire_C" ).val(no); +} + +function afficher_beneficiaire_id() +{ + idBeneficiaire=$("#idBeneficiaire_C").val(); + okId=$("#okId").val(); + + // alert("okId = "+okId); + + // alert("idBeneficiaire:"+idBeneficiaire+"fin"); + //return + + if (idBeneficiaire>"") + { + ajax_context_beneficiaire_afficher(idBeneficiaire, okId); + } +} + +function afficher_adherent_assure() +{ + if ($("#idAdherent_C" ).val()<=" ") + { + return; + } + window.location.assign($("#racineWeb" ).val()+"ficheadherentassure/"); +} + +function afficher_assure() +{ + if ($("#idAdherent_C" ).val()>"") + { + window.location.assign($("#racineWeb" ).val()+"ficheadherentassure/"+$("#idAdherent_C" ).val()+"/"); + } +} + +/* Fin JS beneficiaire */ + + +function fermerFenetre() +{ + v_msg="Etes-vous sur de vouloir quitter ?"; + v_msgEng="Are you sure you want to exit?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + ajax_deconnexion(); + window.open('about:blank','_parent',''); + close(); + window.close(); + } +} + + +function ChangerPass() +{ + if ($("#ancmdp" ).val()<=' ') + { + alert_ebene("Veuillez saisir l\'ancien mot de passe!", "Please enter the old password!"); + $("#ancmdp").focus(); + return false; + } + + if ($("#nvmdp" ).val()<=' ') + { + alert_ebene("Veuillez saisir un mot de passe!", "Please enter a password!"); + $("#nvmdp").focus(); + return false; + } + + if ($("#nvmdp").val()=='0000' || $("#nvmdp").val()=='radiant') + { + alert_ebene("Veuillez changer de mot de passe!", "Please change password!"); + $("#nvmdp").focus(); + return false; + } + + /* + longueur = $("#nvmdp").val().length; + + if(longueur>0 && longueur<6) + { + alert("6 caractères minimum exigé!", "6 characters minimum required!"); + $("#nvmdp").focus(); + return false; + } + + if ($("#cfnvmdp" ).val()!=$("#nvmdp" ).val()) + { + alert("Veuillez confirmer votre mot de passe!", "Please confirm your password!"); + $("#nvmdp").focus(); + return false; + } + */ +} + +function afficher_image(fichier) +{ + window.open(fichier); +} + + +function selectionner_bon(id,no, codeEtatBon, motifAnnulation) +{ + $("#idBon_C").val(id); + $("#numeroBon_C").val(no); + $("#motifAnnulation_C").val(motifAnnulation); + $("#codeEtatBon_C").val(codeEtatBon); +} + + +function imprimerbon() +{ + if ($("#codeActe").val()<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#codeActe").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + var codeEtatBon = $("input[name='codeEtatBon']").val(); + + if (codeEtatBon!="1") + { + return; + } + + $("#frmconsultation").submit(); +} + +function imprimerbonVierge() +{ + if ($("#codeActe").val()<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + $("#codeTypeBon").val('2'); + $("#frmconsultation").submit(); + $("#codeTypeBon").val('1'); +} + +function calculer_Tm() +{ + $("#montantTm").val( ($("#montantacte").val() * (100-$("#tauxCouverture").val() )) / 100 ); + if ($("#codeMedecin").val()>" ") + $("#numeroBon").focus(); + else + $("#codeMedecin").focus(); + return true; +} + +function controlefocusconsultationMd() +{ + if ($("#codeActe").val()>" ") + $("#numeroBon").focus(); + else + $("#codeActe").focus(); + return true; +} + +function ajaxinfosacteexamen() +{ + if ($("#codeActe").val()<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosacte/", + type : 'post', + data: "codePrestataire="+$("#codePrestataire").val()+"&codeActe="+$("#codeActe").val(), + error: function(errorData) { + }, + success: function(data) { + $("#infosacte").html(data); + }, + complete: function() { + $("#tauxCouverture").val( $("#tauxCouverture_info").val()); + } + }); +} + +function ajaxbonexamendisponible() +{ + if ($("#codeActe").val()<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").focus(); + return; + } + + $("#codeTypeBon").val('1'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxbondisponible/", + type : 'post', + data: "codePrestataire="+$("#codePrestataire").val()+"&numeroBon="+$("#numeroBon").val(), + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#msgErreur").html(data); + }, + complete: function() { + imprimerbon(); + } + }); +} + +function ajaxbonhospitdisponible() +{ + if ($("#codeActe").val()<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").focus(); + return; + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxbondisponible/", + type : 'post', + data: "codePrestataire="+$("#codePrestataire").val()+"&numeroBon="+$("#numeroBon").val(), + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#msgErreur").html(data); + }, + complete: function() { + imprimerbon(); + } + }); +} + +function repondreDemandePec(numeroDemande, codeFamilleActe) +{ + if(codeFamilleActe=="EE") + { + window.location.assign($("#racineWeb").val()+"Repondrepecexamen/"+numeroDemande+"/"); + } + else + { + window.location.assign($("#racineWeb").val()+"Repondrepechospit/"+numeroDemande+"/"); + } +} + +function accueil() +{ + if($("#codeProfil_C" ).val()=="MEC") + { + window.location.assign($("#racineWeb").val()+"Accueilmedecin/"); + } + else + { + window.location.assign($("#racineWeb").val()+"Accueil/"); + } +} + +function accepterexamen(numeroDemande) +{ + window.location.assign($("#racineWeb").val()+"Repondrepecexamen/accepterexamen/"+ numeroDemande +"/"); +} + +function cloturerDemandePecExam(numeroDemande) +{ + if (confirm("Confirmez-vous la clôturte de la demande N° : "+numeroDemande+" ?")) + { + window.location.assign($("#racineWeb").val()+"Examenententeprealable/cloturerdemandepec/"+ numeroDemande +"/"); + } +} + +function cloturerDemandePecHospit(numeroDemande) +{ + if (confirm("Confirmez-vous la clôturte de la demande N° : "+numeroDemande+" ?")) + { + window.location.assign($("#racineWeb").val()+"Avishospitalisation/cloturerdemandepec/"+ numeroDemande +"/"); + } +} + +function cloturerProlongationHospit(numeroDemande) +{ + if (confirm("Confirmez-vous la clôturte de la demande N° : "+numeroDemande+" ?")) + { + window.location.assign($("#racineWeb").val()+"Prologerhospitalisation/cloturerdemandepec/"+ numeroDemande +"/"); + } +} + +function refuserexamen(numeroDemande) +{ + if (confirm("Confirmez-vous le refus de la demande N° : "+numeroDemande+" ?")) + { + var motifReel = prompt("motif du refus ?", ""); + if (motifReel<=" ") + { + v_msg="Vous devez saisir un motif !"; + v_msgEng="You have to enter a reason!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + $("#motifReel").val(motifReel); + $('#frmRefus').submit(); + } +} + +function accepterhospit(numeroDemande) +{ + /* + if( parseInt($("#dureeHospitAccordee").val())' + '' + ''); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxrequetesprofil/", + type : 'post', + data: "codeProfil="+$("#codeProfil").val(), + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listerequete").html(data); + } + }); +} + +function controle_numerique(controle) +{ + if(isNaN(controle.value)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + controle.value=""; + controle.focus(); + return false; + } + return true; +} + +function ajax_context_client(idClient) +{ + donnees = 'idClient='+idClient; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextclient/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + } + }); +} + +function ajax_context_client_afficher(idClient) +{ + donnees = 'idClient='+idClient; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextclient/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + complete: function() { + window.location.assign($("#racineWeb" ).val()+"Ficheclient/"); + } + }); +} + +function ajax_context_police(idPolice) +{ + donnees = 'idPolice='+idPolice; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextpolice/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + } + }); +} + + +function ajax_context_police_afficher(idPolice) +{ + donnees = 'idPolice='+idPolice; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextpolice/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + complete: function() { + window.location.assign($("#racineWeb" ).val()+"Fichepolice/"); + } + }); +} + +function ajax_deconnexion() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdeconnexion/" + }); +} + +function ajax_flexcode() +{ + // donnees = 'idPolice='+idPolice; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxflexcode/", + type : 'post', + // data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#content").html(data); + }, + complete: function() { + // window.location.assign($("#racineWeb" ).val()+"Fichepolice/"); + } + }); +} + +function controle_champ_obligatoire(controle) +{ + if (controle.value<=" ") + { + v_msg="Valeur exigée!"; + v_msgEng="Value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + controle.focus(); + return false; + } + return true; +} + +function exporter_liste_assures() +{ + //alert("exporter_liste_assures"); + //return; + + $('#div_liste').html(''); + + + var div_export = $('#div_export'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxexporterlisteassure/", + type: 'POST', + success: function(data) + { + div_export.html(data); + }, + error : function(resultat, statut, erreur) + { + alert(erreur); + }, + complete: function(data) + { + } + }); +} + + +function imprimer_liste_assures() +{ + //alert("imprimer_liste_assures"); + //return; + + $('#div_liste').html(''); + + var div_export = $('#div_export'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaximprimerlisteassure/", + type: 'POST', + success: function(data) + { + div_export.html(data); + }, + error : function(resultat, statut, erreur) + { + alert(erreur); + }, + complete: function(data) + { + } + }); +} + +function imprimer_limites() +{ + $('#div_liste').html(''); + + var div_export = $('#div_export'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaximprimerlimite/", + type: 'POST', + success: function(data) + { + div_export.html(data); + }, + error : function(resultat, statut, erreur) + { + alert(erreur); + }, + complete: function(data) + { + } + }); +} + +function pop_tableau_prestation() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxtableauprestation/", + type : 'post', + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_tableau_prestation").html(data); + }, + complete: function() { + $("#btn_pop").click(); + } + }); +} + +function selectionner_tout_limite(p_idCollegeTemp, p_choix) +{ + donnees = 'idCollegeTemp='+p_idCollegeTemp; + donnees += '&choix='+p_choix; + + // alert(donnees); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxselectionlimite/selectionnertout/", + type: 'POST', + data: donnees, + success: function(data) { + }, + error: function(data) { + // alert(data); + }, + complete: function() { + recapituler_limite_college_simple(); + pop_afficher_selection_limite(p_idCollegeTemp); + } + }); +} + +function prestation_possible() +{ + enVigueur=$("#enVigueur_C").val(); + codeEtatBeneficiaire=$("#codeEtatBeneficiaire_C").val(); + etatbeneficiaire=$("#etatbeneficiaire_C").val(); + college_couvert=$("#college_couvert_C").val(); + derogation_en_cours=$("#derogation_en_cours_C").val(); + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + + datejour = $("#datejour_C").val(); + dateEffetPolice = $("#dateEffetPolice_C").val(); + dateEcheancePolice = $("#dateEcheancePolice_C").val(); + + if (enVigueur!="1") + { + v_msg="Attention! cette personne n'est pas en vigueur"; + v_msgEng="Warning! This person is not in force"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + + if (codeEtatBeneficiaire!="V") + { + alert("Attention! "+etatbeneficiaire); + return false; + } + + if (college_couvert!="1" && derogation_en_cours<1) + { + v_msg="Attention! Cette personne n'a pas accès à ce centre"; + v_msgEng="Warning! This person does not have access to this center"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + + // var td0 = new Date(dateEffetPolice); + var td0 = new Date(dateEntreeBeneficiaire); + var td1 = new Date(datejour); + var td2 = new Date(dateEcheancePolice); + + dt0=Math.round(Date.parse(td0)/(1000*3600*24)); + dt1=Math.round(Date.parse(td1)/(1000*3600*24)); + dt2=Math.round(Date.parse(td2)/(1000*3600*24)); + + // if (dt1>dt2) + if (dt1>dt2 || dt1"2000-01-01") + { + var tdd = new Date(dateSortieBeneficiaire); + dtd=Math.round(Date.parse(tdd)/(1000*3600*24)); + + if (dt1>dtd) + { + v_msg="Attention! cette personne n'est pas couverte à cette date!"; + v_msgEng="Warning! This person is not valid on this date!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + } + + + dateDeces_C=$("#dateDeces_C").val(); + + if(dateDeces_C>"2000-01-01") + { + v_msg="Attention! personne décédée !"; + v_msgEng="Warning! Deceased !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + + return true; +} + +function consultation() +{ + modeSaisieFacture=$("#modeSaisieFacture").val(); + + if(modeSaisieFacture=="1") + { + $("#btn_popdate_reelle").click(); + return; + } + + if (prestation_possible()) + { + modeSaisieFacture=$("#modeSaisieFacture").val(); + + // alert("modeSaisieFacture = "+modeSaisieFacture); + + if(modeSaisieFacture=="1") + { + $("#okId" ).val("1"); + window.location.assign($("#racineWeb" ).val()+"Consultation/"); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + } + else + { + finger_id = $("#finger_id_C" ).val(); + + if (finger_id==0) + { + v_msg="Veuillez procéder à l\'enrôlement avant !"; + v_msgEng="Please enroll before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + okId=$("#okId" ).val(); + + if (okId!=1) + { + v_msg="Veuillez procéder à l\'identification avant !"; + v_msgEng="Please check identity before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + } + + window.location.assign($("#racineWeb" ).val()+"Consultation/"); + } +} + +function gestionbon() +{ + adminBon = $("#adminBon" ).val(); + + if (adminBon!="1") + { + v_msg="Accès refusé !"; + v_msgEng="Access denied!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + window.location.assign($("#racineWeb").val()+"Receptionbons/"); +} + +function afficherbon() +{ + codeTypeBon=$("#codeTypeBon").val(); + codeEtatBon=$("#codeEtatBon").val(); + + noDepart=$("#noDepart").val(); + noFin=$("#noFin").val(); + + if (noDepart=="") + { + noDepart="0"; + } + + if (noFin=="") + { + noFin="0"; + } + + noDepart = parseInt(noDepart); + noFin = parseInt(noFin); + + if (codeTypeBon<=" ") + { + v_msg="Veuillez sélectionner un type de bon !"; + v_msgEng="Please select a prescription type!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeTypeBon").focus(); + return; + } + + if (noFin' + '' + ''); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxafficherbons/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_bonpecs").html(data); + }, + complete: function() { + $("#nbligne").val("Nombre de bons affichés : "+$("#nbligne_info").val()); + } + }); +} + +function demander_annulation_bon() +{ + var codeEtatBon = $("#codeEtatBon_C").val(); + var motifAnnulation = $("#motifAnnulation_C").val(); + var numeroBon = $("#numeroBon_C").val(); + var idBon = $("#idBon_C").val(); + + if (numeroBon<=" ") + { + v_msg="Veuillez sélectionner une ligne!"; + v_msgEng="Please select a line!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + if (codeEtatBon=="3") + { + v_msg="Anullé pour motif : "+motifAnnulation; + v_msgEng="Canceled for reason : "+motifAnnulation; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + if (codeEtatBon=="4") + { + v_msg="Remplacé pour motif : "+motifAnnulation; + v_msgEng="Replaced for reason : "+motifAnnulation; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + if (codeEtatBon=="9") + { + v_msg="Demande anullation pour motif : "+motifAnnulation; + v_msgEng="Cancellation request for reason : "+motifAnnulation; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous la demande d\'annulation du bon No "+numeroBon+" ?"; + v_msgEng="Do you confirm the request for cancellation of the prescription No "+numeroBon+" ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + motifAnnulation = prompt("A annuler pour quel motif ?", motifAnnulation); + if (motifAnnulation<=" ") + { + v_msg="Vous devez saisir un motif !"; + v_msgEng="You have to enter a reason!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + $("#motifAnnulation_C").val(motifAnnulation); + + donnees = 'idBon='+idBon+'&motifAnnulation='+motifAnnulation; + donnees_sav = 'idBon='+idBon+'&typeMail=maildemandeannulationbon'; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxafficherbons/demanderAnnulationBon/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + }, + complete: function() { + mettremailattente(donnees_sav); + + v_msg="Demande envoyée avec succès !"; + v_msgEng="Request sent successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + afficherbon(); + } + }); + } +} + +function enregistrer_commande_bon() +{ + // alert("enregistrer_commande_bon"); + + codeTypeBon=$("#codeTypeBon").val(); + + if ($("#codeTypeBon").val()<" ") + { + v_msg="Veuillez sélectionner un type de bon !"; + v_msgEng="Please select a prescription type!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeTypeBon").focus(); + return; + } + + quantite =$("#quantite").val(); + + if (quantite<" ") + { + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#quantite").focus(); + return; + } + + quantite = parseInt(quantite); + + if(quantite<1) + { + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#quantite").focus(); + return; + } + + commentaire=$("#commentaire").val(); + + if ($("#commentaire").val()<" ") + { + v_msg="Veuillez saisir une note !"; + v_msgEng="Please enter a note/comment!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#commentaire").focus(); + return; + } + + v_msg="Confirmez-vous cette commande ?"; + v_msgEng="Do you confirm this order?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + var codehtml = ""; + + if (confirm(v_msg)) + { + prestataire = $("#prestataire_C").val(); + donnees = 'codeTypeBon='+codeTypeBon+'&quantite='+quantite; + donnees_sav = donnees+'&prestataire='+prestataire+'&typeMail=mailcommandebon'; + + lst_libelleBon = document.getElementById("codeTypeBon"); + libelleBon = lst_libelleBon.options[lst_libelleBon.selectedIndex].text.trim(); + typeSms = "commandebon"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcommanderbons/commanderBon/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + codehtml = data; + preparesms(typeSms); + }, + complete: function() { + mettremailattente(donnees_sav); + + v_msg="commande envoyée avec succès !"; + v_msgEng="Order sent successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#div_page_entiere").html(codehtml); + } + }); + } +} + +function receptionner_bon() +{ + nbligne_info=$("#nbligne_info").val(); + nbligne_info = parseInt(nbligne_info); + + // alert(nbligne_info); + // return; + + if (nbligne_info==0) + { + v_msg="Veuillez actualiser la liste avant !"; + v_msgEng="Please refresh before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + codeTypeBon=$("#codeTypeBon").val(); + + noDepart=$("#noDepart").val(); + noFin=$("#noFin").val(); + + if (noDepart=="") + { + noDepart="0"; + } + + if (noFin=="") + { + noFin="0"; + } + + noDepart = parseInt(noDepart); + noFin = parseInt(noFin); + + if (codeTypeBon<=" ") + { + v_msg="Veuillez sélectionner un type de bon !"; + v_msgEng="Please select a prescription type!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeTypeBon").focus(); + return; + } + + if (noFin' + '' + ''); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxalistegenererbons/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_bonpecs").html(data); + }, + complete: function() { + $("#nbligne").val("Nombre de lignes affichées : "+$("#nbligne_info").val()); + } + }); +} + + +function listerdemandebon() +{ + codeTypeBon=$("#codeTypeBon").val(); + d1=$("#d1").val(); + d2=$("#d2").val(); + + if (codeTypeBon<=" ") + { + v_msg="Veuillez sélectionner un type de bon !"; + v_msgEng="Please select a prescription type!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeTypeBon").focus(); + return; + } + + donnees = 'codeTypeBon='+codeTypeBon+'&d1='+d1+'&d2='+d2; + + $("#div_bonpecs").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxalistedemandebon/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_bonpecs").html(data); + }, + complete: function() { + } + }); +} + +function ajaxactespossibles() +{ + codeFamilleActe=$("#codeFamilleActe").val(); + codeTypePrestation=$("#codeTypePrestation").val(); + + donnees = 'codeFamilleActe='+codeFamilleActe+'&codeTypePrestation='+codeTypePrestation; + + // alert("ajaxactespossibles() : "+donnees); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxactespossibles/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listeacte").html(data); + + $("#prixActe_info").val("0"); + $("#montantTm_info").val("0"); + $("#aRembourser_info").val("0"); + + $("#numeroBon").val(""); + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + } + }); +} + +function ajaxactespossibles_med() +{ + codeFamilleActe=$("#codeFamilleActe").val(); + codeTypePrestation=$("#codeTypePrestation").val(); + + donnees = 'codeFamilleActe='+codeFamilleActe+'&codeTypePrestation='+codeTypePrestation; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxactespossiblesmed/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listeacte").html(data); + + $("#prixActe_info").val("0"); + $("#montantTm_info").val("0"); + $("#aRembourser_info").val("0"); + }, + complete: function() { + } + }); +} + +function ajaxinfosacte() +{ + if ($("#codeActe").val()<=" ") + { + $("#prixActe_info").val("0"); + $("#montantTm_info").val("0"); + $("#aRembourser_info").val("0"); + + $("#numeroBon").val(""); + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosacte/", + type : 'post', + data: "codePrestataire="+$("#codePrestataire").val()+"&codeActe="+$("#codeActe").val(), + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosacte").html(data); + }, + complete: function() { + $("#montantacte").val( $("#montantacte_info").val()); + $("#tauxCouverture").val( $("#tauxCouverture_info").val()); + // calculer_Tm(); + } + }); +} + + +function ajaxprixacte() +{ + codeActe = $("#codeActe").val(); + + if (codeActe<=" ") + { + $("#prixActe_info").val("0"); + $("#montantTm_info").val("0"); + $("#aRembourser_info").val("0"); + + + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + donnees = 'codeActe='+codeActe; + + // alert(donnees); + // alert("ajaxprixacte() : "+donnees); + + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxprixacte/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // alert(data); + $("#infosacte").html(data); + + $("#numeroBon").val(""); + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + // $("#observations").focus(); + $("#codeRaisonConsultation").focus(); + }, + complete: function() { + } + }); +} + + +function ajaxbondisponible() +{ + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + + $("#numeroBon").val(""); + + return; + } + + codeActe = $("#codeActe").val(); + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + + $("#numeroBon").val(""); + + return; + } + + codeRaisonConsultation = $("#codeRaisonConsultation").val(); + + if (codeRaisonConsultation<=" ") + { + v_msg="Veuillez sélectionner une raison pour la consultation !"; + v_msgEng="Please select a reason for the consultation!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeRaisonConsultation").focus(); + + $("#numeroBon").val(""); + + return; + } + + numeroBon = $("#numeroBon").val(); + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxbondisponible/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function ajaxinfosbonconsultation() +{ + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").val(""); + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + return; + } + + codeActe = $("#codeActe").val(); + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").val(""); + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#codeActe").focus(); + return; + } + + codeRaisonConsultation = $("#codeRaisonConsultation").val(); + + if (codeRaisonConsultation<=" ") + { + v_msg="Veuillez sélectionner une raison pour la consultation !"; + v_msgEng="Please select a reason for the consultation!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").val(""); + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#codeRaisonConsultation").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonconsultation/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function enregistrerconsultation() +{ + numeroBonSave = $("#numeroBonSave").val(); + + codeMedecin = $("#codeMedecin").val(); + medecinManquant = $("#medecinManquant").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + return; + } + + if (codeMedecin=="ZZZZ" && medecinManquant<=" ") + { + v_msg="Veuillez saisir le nom du médecin non enregistré!"; + v_msgEng="Please enter the name of the non-registered doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#medecinManquant").focus(); + return; + } + + codeActe = $("#codeActe").val(); + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + codeRaisonConsultation = $("#codeRaisonConsultation").val(); + + if (codeRaisonConsultation<=" ") + { + v_msg="Veuillez sélectionner une raison pour la consultation !"; + v_msgEng="Please select a reason for the consultation!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeRaisonConsultation").focus(); + return; + } + + /* + codeAffection = $("#codeAffection").val(); + if (codeAffection<=" ") + { + alert("Veuillez sélectionner une affectiuon !"); + $("#codeActe").focus(); + return; + } + */ + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number of presciption ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + dateSurvenance = $("#dateSurvenance").val(); + observations = $("#observations").val(); + prixActe = $("#prixActe").val(); + montantTm = $("#montantTm").val(); + aRembourser = $("#aRembourser").val(); + numeroDerogation = $("#derogation_en_cours_C").val(); + numeroDerogationFinger = $("#derogation_finger_en_cours_C").val(); + + if (numeroDerogation<1) + { + numeroDerogation = "0"; + } + + if (numeroDerogationFinger<1) + { + numeroDerogationFinger = "0"; + } + + donnees = 'codeActe='+codeActe+'&numeroBon='+numeroBon+'&codeMedecin='+codeMedecin+'&codeRaisonConsultation='+codeRaisonConsultation; + donnees += '&dateSurvenance='+dateSurvenance+'&observations='+observations+'&prixActe='+prixActe; + donnees += '&montantTm='+montantTm+'&aRembourser='+aRembourser+'&numeroDerogation='+numeroDerogation; + donnees += '&numeroDerogationFinger='+numeroDerogationFinger; + donnees += '&medecinManquant='+medecinManquant; + + donnees_sav = donnees; + + $("#btn_enreg").disable(); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerconsultation/enregistrerconsultation/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) + { + maj_fraisexclu_cso(); + + typeSms="accident"; + + if(codeRaisonConsultation=="ACIR") + { + preparesms(typeSms); + + v_msg="alerte envoyée pour accident!"; + v_msgEng="alert sent for accident!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }, + complete: function() { + v_msg="Consultation enregistrée avec succès"; + v_msgEng="Saved successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + feuillemaladie(); + } + }); + } +} + + +function selectionner_feuille_maladie(no) +{ + $("#numeroFeuilleMaladie_C" ).val(no); +} + +function afficher_feuille_maladie() +{ + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C" ).val(); + + if (numeroFeuilleMaladie>"") + { + ajax_context_feuille_maladie_afficher(numeroFeuilleMaladie); + } +} + +function ajax_context_feuille_maladie_afficher(numeroFeuilleMaladie) +{ + donnees = 'numeroFeuilleMaladie='+numeroFeuilleMaladie; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfeuillemaladie/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + complete: function() { + window.location.assign($("#racineWeb" ).val()+"Feuillemaladiecons/"); + } + }); +} + + +function chercher_ordonnance(numeroBonOrdonnance) +{ + donnees = 'numeroBonOrdonnance='+numeroBonOrdonnance; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerordonnance/", + type: 'POST', + data: donnees, + success: function(data) { + }, + error: function(data) { + //alert(data); + }, + complete: function() { + window.location.assign($("#racineWeb" ).val()+"Pharmacien/"); + } + }); +} + +function chercher_ordonnance_opt(numeroBonOptique) +{ + if(numeroBonOptique<="0") + { + // actualiser_opticien(); + reinitialiser_opticien(); + return; + } + donnees = 'numeroBonOptique='+numeroBonOptique; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerordonnanceopt/", + type: 'POST', + data: donnees, + success: function(data) { + window.location.assign($("#racineWeb" ).val()+"Opticien/"); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + + +function chercher_ordonnance_lab(numeroBonExamen) +{ + donnees = 'numeroBonExamen='+numeroBonExamen; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerordonnancelab/", + type: 'POST', + data: donnees, + success: function(data) { + window.location.assign($("#racineWeb" ).val()+"Laboratoire/"); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function ctrlkeypressord(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + numeroBonOrdonnance=$("#numeroBonOrdonnance").val(); + $("#numeroBonOrdonnance").blur(); + } +} + +function rechercherbonordonnance() +{ + numeroBonOrdonnance=$("#numeroBonOrdonnance").val(); + + if (numeroBonOrdonnance>" ") + { + chercher_ordonnance(numeroBonOrdonnance); + } +} + + +function ctrlkeypressordopt(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + numeroBonOptique=$("#numeroBonOptique").val(); + $("#numeroBonOptique").blur(); + } +} + + +function ctrlkeypressordlab(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + numeroBonExamen=$("#numeroBonExamen").val(); + $("#numeroBonExamen").blur(); + } +} + +function rechercherbonoptique() +{ + numeroBonOptique=$("#numeroBonOptique").val(); + + if (numeroBonOptique>" ") + { + chercher_ordonnance_opt(numeroBonOptique); + } +} + +function valider_presciption() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cette ordonnance ?"; + v_msgEng="Do you confirm this prescription ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + feuillemaladie(); + } +} + +function ajaxchanger_type_bon() +{ + $("#msgErreur").html(""); +} + +function ajaxprixactemed() +{ + $("#prixActe_info").val("0"); + $("#montantTm_info").val("0"); + $("#aRembourser_info").val("0"); + + codeActe = $("#codeActe").val(); + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#quantite").focus(); + + return; + } + + donnees = 'codeActe='+codeActe+'&quantite='+quantite; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxprixactemed/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // alert(data); + $("#infosacte").html(data); + }, + complete: function() { + } + }); +} + +function enregistreractemedical() +{ + acteExclu = $("#acteExclu").val(); + + autorisation = "0"; + + if(acteExclu==1) + { + autorisation = "2"; + + v_msg="Acte non couvert !"; + v_msgEng="Not covered !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + donnees="" + donnees_sav=""; + + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#nomMedecin").focus(); + return; + } + + codeActe = $("#codeActe").val(); + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + div_prix = $("#prixActe"); + prixActe = div_prix.val(); + + prixTarif = $("#prixTarif").val(); + + if(prixActe==0 || parseFloat(prixActe)>parseFloat(prixTarif)) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + quantite = parseInt(quantite); + div_quantite.val(quantite); + + if(quantite==0) + { + div_quantite.focus(); + + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please neter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cet acte ?"; + v_msgEng="Do you confirm this act ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + prixActe = $("#prixActe").val(); + valeurActe = $("#valeurActe").val(); + + montantTm = $("#montantTm").val(); + aRembourser = $("#aRembourser").val(); + + ententePrealable = $("#ententePrealable").val(); + + if(ententePrealable==1) + { + ententePrealable = "2"; + } + + donnees = 'codeActe='+codeActe+'&codeMedecin='+codeMedecin+'&quantite='+quantite+'&ententePrealable='+ententePrealable; + donnees += '&prixActe='+prixActe+'&valeurActe='+valeurActe+'&montantTm='+montantTm+'&aRembourser='+aRembourser; + donnees += '&autorisation='+autorisation+'&prixTarif='+prixTarif; + + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val(); + + donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable'; + donnees_sav2 = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailautorisation'; + + typeSms="ententeprealable"; + typeSms2="autorisation"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistreractemedical/enregistreractemedical/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + maj_fraisexclu_cso(); + + if(ententePrealable=="2") + { + preparesms(typeSms); + + v_msg="Demande accord prealable envoyée !"; + v_msgEng="Request prior agreement sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + + if(autorisation=="2") + { + preparesms(typeSms2); + + v_msg="Demande autorisation envoyée !"; + v_msgEng="Request for authorization sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }, + complete: function() { + if(ententePrealable=="2") + { + mettremailattente(donnees_sav); + } + + if(autorisation=="2") + { + mettremailattente(donnees_sav2); + } + + feuillemaladie(); + } + }); + } +} + +function ajax_changer_qte_acte() +{ + codeActe = $("#codeActe").val(); + prixActe = $("#prixActe").val(); + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.focus(); + div_quantite.val(""); + + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please neter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'codeActe='+codeActe+'&quantite='+quantite+'&prixActe='+prixActe; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerqteacte/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // alert(data); + $("#infosacte").html(data); + }, + complete: function() { + } + }); +} + +function supprimer_acte_medical(idPrestationactes, codeTypePrestation) +{ + v_msg="Confirmez-vous la suppression de cet acte ?"; + v_msgEng="Do you confirm the removal of this act ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + donnees = 'idPrestationactes='+idPrestationactes+'&codeTypePrestation='+codeTypePrestation; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistreractemedical/supprimeracte/", + type: 'POST', + data: donnees, + success: function(data) { + feuillemaladie_ajax(); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); + } +} + +function supprimer_chambre(idChambre) +{ + v_msg="Confirmez-vous la suppression de cette chambre ?"; + v_msgEng="Do you confirm the removal of this room ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + donnees = 'idPrestationactes='+idChambre+'&codeTypePrestation=HOSP'; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistreractemedical/supprimeracte/", + type: 'POST', + data: donnees, + success: function(data) { + attribution_chambre(); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); + } +} + +function ajaxinfosbonhospitalisation() +{ + numeroBonHospitalisation = $("#numeroBonHospitalisation").val(); + numeroBonHospitalisation = parseInt(numeroBonHospitalisation); + if (numeroBonHospitalisation>0) + { + v_msg="Déjà effectué !"; + v_msgEng="Already done !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon Hospitalisation !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonhospitalisation/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function enregistrerhospitalisation() +{ + numeroBonSave = $("#numeroBonSave").val(); + + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + donnees = 'numeroBon='+numeroBon+'&numeroFeuilleMaladie='+numeroFeuilleMaladie; + donnees_sav = donnees+'&typeMail=mailhospitalisation'; + + $("#btn_enreg").disable(); + + typeSms="hospitalisation"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerhospitalisation/enregistrerhospitalisation/", + type : 'post', + data: donnees, + error: function(errorData) { + // $("#msgErreur").html(errorData); + }, + success: function(data) { + // preparewhatsapp(typeSms); + preparesms(typeSms); + + v_msg="Avis hospitalisation envoyé !"; + v_msgEng="Hospitalization notice sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + }, + complete: function() { + mettremailattente(donnees_sav); + + attribution_chambre(); + } + }); + } +} + +function ajaxprixchambre() +{ + $("#btn_enreg").disable(); + + $("#prixActe_info").val("0"); + $("#montantTm_info").val("0"); + $("#aRembourser_info").val("0"); + + codeActe = $("#codeActe").val(); + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un type de chambre !"; + v_msgEng="Please select a category of room !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.focus(); + v_msg="Veuillez saisir la durée !"; + v_msgEng="Please enter the duration !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + donnees = 'codeActe='+codeActe+'&quantite='+quantite; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxprixchambre/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // alert(data); + $("#infosacte").html(data); + }, + complete: function() { + } + }); +} + + +function ajax_changer_duree_chambre() +{ + $("#btn_enreg").disable(); + + codeActe = $("#codeActe").val(); + prixActe = $("#prixActe").val(); + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un type de chambre !"; + v_msgEng="Please select a category of room !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.focus(); + div_quantite.val(""); + + v_msg="Veuillez saisir la durée !"; + v_msgEng="Please enter duration !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + claculerfinchambre(); + + donnees = 'codeActe='+codeActe+'&quantite='+quantite+'&prixActe='+prixActe; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerdureechambre/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // alert(data); + $("#infosacte").html(data); + }, + complete: function() { + } + }); +} + + +function claculerfinchambre() +{ + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.focus(); + div_quantite.val(""); + + v_msg="Veuillez saisir la durée !"; + v_msgEng="Please enter the duration !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + + var typdate = $("#debut").datepicker("getDate"); + typdate.setDate(typdate.getDate() + quantite -1); + + $( "#fin" ).datepicker( "setDate", typdate ); + + // contrôle du cheveauchement des dates + /* + var td1 = new Date($("#dateFinHospit").val()); + var td2 = $("#debut").datepicker("getDate"); + + alert("td1 : "+td1+" ; td2 : "+td2); + return; + + dt1=Math.round(Date.parse(td1)/(1000*3600*24)); + dt2=Math.round(Date.parse(td2)/(1000*3600*24)); + + if (dt1>dt2) + { + $("#btn_enreg").disable(); + $("#debut").focus(); + + v_msg="Veuillez revoir vos dates !"; + v_msgEng="Please review your dates !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + $("#btn_enreg").enable(); + */ +} + +function enregistrerchambre() +{ + acteExclu = $("#acteExclu").val(); + autorisation = "0"; + + if(acteExclu==1) + { + autorisation = "2"; + v_msg="Non couvert !"; + v_msgEng="Not covered !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + codeActe = $("#codeActe").val(); + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un type de chambre !"; + v_msgEng="Please select a category of room !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + div_prix = $("#prixActe"); + prixActe = div_prix.val(); + + prixTarif = prixActe; + + if(prixActe==0) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + quantite = parseInt(quantite); + div_quantite.val(quantite); + + if(quantite==0) + { + div_quantite.focus(); + + v_msg="Veuillez saisir la durée !"; + v_msgEng="Please enter the duration !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + // contrôle du cheveauchement des dates + + // mis en commentaire le 31/10/2018 BONA + /* + var td1 = new Date($("#dateFinHospit").val()); + var td2 = $("#debut").datepicker("getDate"); + + dt1=Math.round(Date.parse(td1)/(1000*3600*24)); + dt2=Math.round(Date.parse(td2)/(1000*3600*24)); + + if (dt1>dt2) + { + $("#btn_enreg").disable(); + $("#debut").focus(); + + v_msg="Veuillez revoir vos dates !"; + v_msgEng="Please review your dates !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + // $("#btn_enreg").enable(); + */ + + numeroChambre = $("#numeroChambre").val(); + if (numeroChambre<=" ") + { + v_msg="Veuillez saisir le N° de chambre !"; + v_msgEng="Please enter room number !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroChambre").focus(); + return; + } + + v_msg="Confirmez-vous cette chambre ?"; + v_msgEng="Do you confirm this room ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + prixActe = $("#prixActe").val(); + valeurActe = $("#valeurActe").val(); + + montantTm = $("#montantTm").val(); + aRembourser = $("#aRembourser").val(); + + debut = $("#debut").val(); + // $("#fin").enable(); + fin = $("#fin").val(); + + donnees = 'codeActe='+codeActe+'&quantite='+quantite+'&prixActe='+prixActe+'&valeurActe='+valeurActe; + donnees += '&montantTm='+montantTm+'&aRembourser='+aRembourser+'&debut='+debut+'&fin='+fin +'&numeroChambre='+numeroChambre; + donnees += '&autorisation='+autorisation+'&prixTarif='+prixTarif; + + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val(); + + donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailautorisation'; + + typeSms="autorisation"; + + $("#btn_enreg_chambre").disable(); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerchambre/enregistrerchambre/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + + maj_fraisexclu_cso(); + + if(autorisation=="2") + { + preparesms(typeSms); + + v_msg="Demande autorisation envoyée !"; + v_msgEng="Request for authorization sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }, + complete: function() { + if(autorisation=="2") + { + mettremailattente(donnees_sav); + } + + v_msg="Enregistrée avec succès"; + v_msgEng="Saved successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + attribution_chambre(); + } + }); + } +} + +function actesmedicaux() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Actesmedicaux/"); +} + +function optique() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + prescription_optique(); +} + +function pharmacien() +{ + if (prestation_possible()) + { + /* mis en commentaire le 28/11/2017 + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + } + else + { + finger_id = $("#finger_id_C" ).val(); + + if (finger_id==0) + { + v_msg="Veuillez procéder à l\'enrôlement avant !"; + v_msgEng="Please enroll before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + okId=$("#okId" ).val(); + + if (okId!=1) + { + v_msg="Veuillez procéder à l\'identification avant !"; + v_msgEng="Please check identity before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + } + */ + + window.location.assign($("#racineWeb" ).val()+"Pharmacien/"); + } +} + +function dossiers(okId) +{ + codeProfil = $("#codeProfil_C" ).val(); + + if(codeProfil=="PHA") + { + pharmacien(); + return; + } + + if(codeProfil=="OPT") + { + monture = $("#monture").val(); + + + if(monture=="1") + { + window.location.assign($("#racineWeb" ).val()+"Monture/"); + return; + } + + opticien(); + return; + } + + if(codeProfil=="LAB") + { + laboratoire(); + return; + } + + if(codeProfil=="SEA") + { + seancekine(); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + } + + /* + else + { + // finger_id = $("#finger_id_C" ).val(); + finger_id = $("#okId" ).val(); + + if (finger_id==0) + { + v_msg="Veuillez procéder à l\'enrôlement avant !"; + v_msgEng="Please enroll before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + } + */ + + modeSaisieFacture=$("#modeSaisieFacture").val(); + + // alert("modeSaisieFacture : "+modeSaisieFacture); + // return; + + if(modeSaisieFacture=="1") + { + window.location.assign($("#racineWeb" ).val()+"Dossiers/"); + return; + } + + + if (prestation_possible()) + { + if (okId==1) + { + window.location.assign($("#racineWeb" ).val()+"Consultation/"); + return; + } + else + { + okId=$("#okId" ).val(); + } + + if (okId==1) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextidentification/", + type : 'post', + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + complete: function() { + if (prestation_possible()) + { + window.location.assign($("#racineWeb" ).val()+"Dossiers/"); + } + } + }); + } + else + { + window.location.assign($("#racineWeb" ).val()+"Dossiers/"); + } + } +} + +function afficher_beneficiaire_id_okId() +{ + idBeneficiaire=$("#idBeneficiaire_C").val(); + okId=$("#okId").val(); + + if (idBeneficiaire>"") + { + ajax_context_beneficiaire_afficher(idBeneficiaire, okId); + } +} + +function ajax_context_beneficiaire_afficher(idBeneficiaire, okId) +{ + donnees = 'idBeneficiaire='+idBeneficiaire+'&okId='+okId; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextbeneficiaire/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + complete: function() { + window.location.assign($("#racineWeb" ).val()+"Fichebeneficiaire/"+idBeneficiaire); + } + }); +} + +function facturer_cso() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + // verifier depasement + fraisExclu=$("#fraisExclu").val(); + fraisExclu = parseInt(fraisExclu); + + if (fraisExclu>0) + { + v_msg="Attention ! Dépassement de limite, souhaitez-vous continuer?"; + v_msgEng="Warning ! Overflow, Would you like to continue?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (!confirm(v_msg)) + { + return; + } + } + // Fin verification depassement + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + } + else + { + okId=$("#okId" ).val(); + + if (okId!=1) + { + v_msg="Veuillez procéder à l\'identification avant !"; + v_msgEng="Please check identity before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + montantTm = $("#montantTm").val(); + cout = $("#cout").val(); + + donnees = 'prixActe='+prixActe; + donnees += '&montantTm='+montantTm; + donnees += '&cout='+cout; + + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailfacturationfeuillemaladie'; + + typeSms = "facturer_cso"; + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfacturerfeuillemaladie/facturer/", + type: 'POST', + success: function(data) { + // suspension provisoire Vivien 20/03/20118 + // preparesms(typeSms); + }, + error: function(data) { + // alert(data); + }, + complete: function() + { + // suspension provisoire Vivien 20/03/20118 + // mettremailattente_adh(donnees_sav); + + feuillemaladie(); + + v_msg="Facturation effectuée avec succès!"; + v_msgEng="Successful billing!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }); + +} + +function facturer_feuillemaladie() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + numOrd = $("#numOrd").val(); + noPrescription = $("#noPrescription").val(); + + if (numOrd==0 && noPrescription==0) + { + v_msg="Attention, pas de presciption de médicaments!?"; + v_msgEng="Warning, no presciption of drugs!"; + v_msg +="\n"; + v_msg +=v_msgEng; + + alert(v_msg); + prescription_medicament(); + return; + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous la facturation ?"; + v_msgEng="Do you confirm this delivery?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + /* + codepPrestataire = $("#codePrestataire_C").val(); + + if(codepPrestataire=="SP0019") + { + $("#okId" ).val("1"); + facturer_cso(); + return; + } + */ + + /* + codeutilisateur = $("#codeutilisateur").val(); + alert(codeutilisateur); + alert(codeutilisateur.length); + alert(codeutilisateur.substring(0, 4)); + return; + + if(codeutilisateur.substring(0, 4)=="kane") + { + $("#okId" ).val("1"); + facturer_cso(); + return; + } + */ + + modeSaisieFacture=$("#modeSaisieFacture").val(); + if(modeSaisieFacture=="1") + { + $("#okId" ).val("1"); + facturer_cso(); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + facturer_cso(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id = $("#user_id_C").val(); + finger_id = $("#finger_id_C").val(); + + $("#facturation").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&facturation=1"; + + load("flexcode/user.php?"+data); + } + } +} + +function facturer_pha() +{ + idPrestationactes=$("#idPrestationactes").val(); + idPrestationactes = parseInt(idPrestationactes); + + /* mis en commentaire le 31/07/2018 => permettre la multi-facturation + if (idPrestationactes>0) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + */ + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + // if (idPrestationactes==0 && nbLivre<1) + if (nbLivre<1) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + montantTm = $("#montantTm").val(); + cout = $("#cout").val(); + + donnees = 'prixActe='+prixActe; + donnees += '&montantTm='+montantTm; + donnees += '&cout='+cout; + + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + codePrestataire = $("#codePrestataire_C").val(); + + donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=mailpharmacie'; + + typeSms = "facturer_pha"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailpharmacien/enregistrerpharmacie/", + type: 'POST', + success: function(data) { + // suspension provisoire Vivien 20/03/20118 + // preparesms(typeSms); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + // suspension provisoire Vivien 20/03/20118 + // mettremailattente_adh(donnees_sav); + + window.location.assign($("#racineWeb" ).val()+"Pharmacien/"); + + v_msg="Facturation effectuée avec succès!"; + v_msgEng="Successful billing!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }); +} + +function valider_pharmacie_pha() +{ + estRempalace=$("#estRempalace").val(); + + if (estRempalace=="1") + { + v_msg="Remplacée !"; + v_msgEng="Replaced !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + numeroPrescription=$("#numeroPrescription_C").val(); + + if (numeroPrescription<="0") + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + idPrestationactes=$("#idPrestationactes").val(); + idPrestationactes = parseInt(idPrestationactes); + + /* mis en commentaire le 31/07/2018 => permettre la multi-facturation + if (idPrestationactes>0) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + */ + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + // if (idPrestationactes==0 && nbLivre<1) + if (nbLivre<1) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cette livraison ?"; + v_msgEng="Do you confirm this delivery?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + // 07/01/2018 => Mis en commentaire parce pas besoin de fingerprint en pharamacie + /* + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + facturer_pha(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id =$("#user_id_C").val(); + finger_id =$("#finger_id_C").val(); + + $("#facturation").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&facturation=1"; + + load("flexcode/user.php?"+data); + } + */ + facturer_pha(); + } +} + +function valider_optique() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + /* + nbVerres=$("#nbVerres").val(); + nbVerres = parseInt(nbVerres); + + if (nbVerres<1) + { + v_msg="Rien à valider!"; + v_msgEng="Nothing to save!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + */ + + v_msg="Confirmez-vous cette ordonnance ?"; + v_msgEng="Do you confirm this prescription ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistreroptique/videroptiquetemp/", + type : 'post', + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + feuillemaladie(); + }, + complete: function() { + } + }); + } +} + +function separateur_millier(montant) +{ + montant = parseInt(montant); + montant.toLocaleString(); + return montant.toLocaleString(); +} + +function ajaxinfosbonoptique() +{ + numeroBonOptique = $("#numeroBonOptique").val(); + numeroBonOptique = parseInt(numeroBonOptique); + if (numeroBonOptique>0) + { + v_msg="Déjà effectué !"; + v_msgEng="Already done !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + codeMedecin = $("#codeMedecin").val(); + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").val(""); + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonoptique/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + + +function supprimer_optique(idOptique) +{ + v_msg="Confirmez-vous la suppression de ce verre ?"; + v_msgEng="Do you confirm the removal of this glass?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + donnees = 'idOptique='+idOptique; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerverre/supprimerverre/", + type: 'POST', + data: donnees, + success: function(data) { + $("#medicaments").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + prescription_optique(); + } + }); + } +} + + +function enregistreroptique() +{ + numeroBonSave = $("#numeroBonSave").val(); + + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number of prescription ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + donnees = 'numeroBon='+numeroBon+'&codeMedecin='+codeMedecin; + + $("#btn_enreg").disable(); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistreroptique/enregistreroptique/", + type : 'post', + data: donnees, + error: function(errorData) { + $("#msgErreur").html(errorData); + // alert("Erreur : "+errorData); + }, + success: function(data) { + // $("#msgErreur").html(data); + }, + complete: function() { + v_msg="Prescription enregistrée avec succès"; + v_msgEng="Saved successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + prescription_optique(); + } + }); + } +} + +function enregistrerverre() +{ + codeOptique = $("#codeOptique").val(); + if (codeOptique<=" ") + { + v_msg="Veuillez sélectionner un verre !"; + v_msgEng="Please select a glass !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeOptique").focus(); + return; + } + + v_msg="Confirmez-vous ces verres ?"; + v_msgEng="Do you confirm these glasses ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + + donnees = 'codeOptique='+codeOptique; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerverre/enregistrerverre/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + prescription_optique(); + }, + complete: function() { + } + }); + } +} + + +function valider_chambre() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cette hospitalisation ?"; + v_msgEng="Do you confirm this hospitalization ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + feuillemaladie(); + } +} + + +function valider_opticien() +{ + numeroOptique=$("#numeroOptique_C").val(); + + if (numeroOptique<="0") + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + + idPrestationactes=$("#idPrestationactes").val(); + idPrestationactes = parseInt(idPrestationactes); + + if (idPrestationactes>0) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + if (idPrestationactes==0 && nbLivre<1) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cette livraison ?"; + v_msgEng="Do you confirm this delivery?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + // 07/01/2018 => Mis en commentaire parce pas besoin de fingerprint en magasin optique + /* + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + facturer_opt(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id =$("#user_id_C").val(); + finger_id =$("#finger_id_C").val(); + + $("#facturation").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&facturation=1"; + + load("flexcode/user.php?"+data); + } + */ + facturer_opt(); + } +} + +function opticien() +{ + if (prestation_possible()) + { + /* mis en commentaire le 28/11/2017 + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + } + else + { + finger_id = $("#finger_id_C" ).val(); + + if (finger_id==0) + { + v_msg="Veuillez procéder à l\'enrôlement avant !"; + v_msgEng="Please enroll before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + okId=$("#okId" ).val(); + + if (okId!=1) + { + v_msg="Veuillez procéder à l\'identification avant !"; + v_msgEng="Please check identity before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + } + */ + + window.location.assign($("#racineWeb" ).val()+"Opticien/"); + } +} + +function verifiertentativeidentitification(user_id) +{ + donnees = 'user_id='+user_id; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenvoimaildivers/verifiertentativeidentitification/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_err").html(data); + }, + complete: function() { + } + }); +} + +function envoyer_alert_tentative_fraude(user_id) +{ + donnees = 'user_id='+user_id; + + idBeneficiaire = $("#idBeneficiaire_C").val(); + prestataire = $("#prestataire_C").val(); + + donnees_sav = donnees+'&prestataire='+prestataire+'&idBeneficiaire='+idBeneficiaire+'&typeMail=mailfraudeidentite'; + + mettremailattente(donnees_sav); +} + + +function ajouterverre_opt_tous() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailopticien/ajouterverretous/", + type: 'POST', + success: function(data) { + $("#livraison").html(data); + // alert(data); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + alerter_depassement_limite(); + } + }); +} + + +function ajouterverre_opt(idOptique) +{ + donnees = 'idOptique='+idOptique; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailopticien/ajouterverre/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + } + }); +} + +function retirerverre_opt_tous() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailopticien/retirerverretous/", + type: 'POST', + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function retirerverre_opt(idOptique) +{ + donnees = 'idOptique='+idOptique; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailopticien/retirerverre/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + + +function facturer_opt() +{ + idPrestationactes=$("#idPrestationactes").val(); + idPrestationactes = parseInt(idPrestationactes); + + if (idPrestationactes>0) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + if (idPrestationactes==0 && nbLivre<1) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + montantTm = $("#montantTm").val(); + cout = $("#cout").val(); + + donnees = 'prixActe='+prixActe; + donnees += '&montantTm='+montantTm; + donnees += '&cout='+cout; + + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + codePrestataire = $("#codePrestataire_C").val(); + + donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=mailoptique'; + + typeSms = "facturer_opt"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailopticien/enregistreroptique/", + type: 'POST', + success: function(data) { + // suspension provisoire Vivien 20/03/20118 + // preparesms(typeSms); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + // suspension provisoire Vivien 20/03/20118 + // mettremailattente_adh(donnees_sav); + + window.location.assign($("#racineWeb" ).val()+"Opticien/"); + + v_msg="Facturation effectuée avec succès!"; + v_msgEng="Successful billing!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }); + +} + +function maj_monture_temp(idOptique, monture) +{ + donnees = 'idOptique='+idOptique+"&monture="+monture; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailopticien/majmonture/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + } + }); +} + +function supprimer_espace_nombre(nombre) +{ + nombre = nombre.replace(" ", ""); + + if(isNaN(nombre)) + { + alert(nombre+" n'est pas un nombre!"); + return '0'; + } + nombre = parseInt(nombre); + return nombre; +} + +function demander_derogation() +{ + /* + if (prestation_possible()) + { + window.location.assign($("#racineWeb" ).val()+"Demandederogation/"); + } + */ + window.location.assign($("#racineWeb" ).val()+"Demandederogation/"); +} + +function enregistrerdemandederogation() +{ + codeDerogation = $("#codeDerogation").val(); + + lst_libelleDerogation = document.getElementById("codeDerogation"); + libelleDerogation = lst_libelleDerogation.options[lst_libelleDerogation.selectedIndex].text.trim(); + + college_couvert=$("#college_couvert_C").val(); + if (college_couvert=="1" && codeDerogation=="01") + { + v_msg="Attention! Cette personne a déjà accès à ce centre"; + v_msgEng="Warning! This person all ready have access to this center"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + if (codeDerogation<=" ") + { + v_msg="Veuillez sélectionner une dérogation !"; + v_msgEng="Please select an exemption!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeDerogation").focus(); + return; + } + + observations = $("#observations").val(); + if (observations<=" ") + { + v_msg="Veuillez saisir la motivation !"; + v_msgEng="Please select the motivation !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#observations").focus(); + return; + } + + v_msg="Confirmez-vous cette demande de dérogation ?"; + v_msgEng="Do you confirm this request ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + donnees = 'codeDerogation='+codeDerogation+'&observations='+observations+'&libelleDerogation='+libelleDerogation; + + idBeneficiaire = $("#idBeneficiaire_C").val(); + prestataire = $("#prestataire_C").val(); + + + donnees_sav = donnees+'&prestataire='+prestataire+'&idBeneficiaire='+idBeneficiaire+'&typeMail=maildemandederogation'; + + typeSms = "demandederogation"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerdemandederogation/enregistrerdemandederogation/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // preparewhatsapp(typeSms); + preparesms(typeSms); + mettremailattente(donnees_sav); + // liste_derogation(); + }, + complete: function() { + // mettremailattente(donnees_sav); + + v_msg="Demande envoyée avec succès !"; + v_msgEng="Request sent successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + liste_derogation(); + } + }); + } +} + +function liste_derogation() +{ + window.location.assign($("#racineWeb" ).val()+"Listederogations/"); +} + +function listerderogation() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_derogations").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxderogation/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_derogations").html(data); + }, + complete: function() { + } + }); +} + +function afficher_div_wait() +{ + // $("#div_page_complet").disable(); + // $("#div_wait").html('
' + '' + '
'); +} + +function effacer_div_wait() +{ + $("#div_wait").html(""); +} + +function consultationpha() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationpha/"); +} + +function consultationlab() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationlab/"); +} + +function consultationopt() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationopt/"); +} + +function consultationcso() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationcso/"); +} + +function consultationbenpha() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationbenpha/"); +} + +function consultationbenopt() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationbenopt/"); +} + +function consultationbencso() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationbencso/"); +} + +function listerdossiercons_ben() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationbencso/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function listerdossiercons() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + donnees_sav = donnees; + + $("#reglement").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationcsoentete/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#reglement").html(data); + }, + complete: function() { + } + }); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationcso/", + type : 'post', + data: donnees_sav, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#detail_reglement").html(data); + $("#detail_reglement").css("padding-top", "0px"); + }, + complete: function() { + } + }); +} + +function afficher_feuille_maladie_cons() +{ + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C" ).val(); + + if (numeroFeuilleMaladie>"") + { + ajax_context_feuille_maladie_afficher_cons(numeroFeuilleMaladie); + } +} + +function ajax_context_feuille_maladie_afficher_cons(numeroFeuilleMaladie) +{ + donnees = 'numeroFeuilleMaladie='+numeroFeuilleMaladie; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfeuillemaladie/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + complete: function() { + consulter_feuillemaladie(); + } + }); +} + +function afficher_feuille_maladie_cons_ben() +{ + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C" ).val(); + + if (numeroFeuilleMaladie>"") + { + ajax_context_feuille_maladie_afficher_cons_ben(numeroFeuilleMaladie); + } +} + +function ajax_context_feuille_maladie_afficher_cons_ben(numeroFeuilleMaladie) +{ + donnees = 'numeroFeuilleMaladie='+numeroFeuilleMaladie; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfeuillemaladie/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + complete: function() { + consulter_feuillemaladie_ben(); + } + }); +} + +function consulter_prescription_ben() +{ + window.location.assign($("#racineWeb" ).val()+"Prescriptionconsben/"); +} + +function consulter_chambre_ben() +{ + window.location.assign($("#racineWeb" ).val()+"Chambreconsben/"); +} + +function consulter_optique_ben() +{ + window.location.assign($("#racineWeb" ).val()+"Optiqueconsben/"); +} + +function consulter_feuillemaladie_ben() +{ + window.location.assign($("#racineWeb" ).val()+"Feuillemaladieconsben/"); +} + +function consulter_prescription() +{ + window.location.assign($("#racineWeb" ).val()+"Prescriptioncons/"); +} + +function consulter_chambre() +{ + window.location.assign($("#racineWeb" ).val()+"Chambrecons/"); +} + +function consulter_optique() +{ + window.location.assign($("#racineWeb" ).val()+"Optiquecons/"); +} + +function consulter_feuillemaladie() +{ + window.location.assign($("#racineWeb" ).val()+"Feuillemaladiecons/"); +} + +// + +function prescription_medicament() +{ + window.location.assign($("#racineWeb" ).val()+"Prescription/"); +} + +function livraison_pharmacie() +{ + numeroBonOrdonnance=$("#numeroBonOrdonnance_C").val(); + + if (numeroBonOrdonnance==0) + { + v_msg="Aucune prescription !"; + v_msgEng="No prescription !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Pharmacie/"); +} + +function prescription_optique() +{ + window.location.assign($("#racineWeb" ).val()+"Optique/"); +} + +function attribution_chambre() +{ + window.location.assign($("#racineWeb" ).val()+"Chambre/"); +} + +function feuillemaladie() +{ + window.location.assign($("#racineWeb" ).val()+"Feuillemaladie/"); +} + +function feuillemaladie_ajax() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfeuillemaladie/", + type: 'POST', + success: function(data) { + $("#div_feuillemaladie").html(data); + }, + error: function(data) { + }, + complete: function() { + alerter_depassement_limite_cso(); + } + }); +} + +function recherche() +{ + window.location.assign($("#racineWeb" ).val()+"Recherche/"); +} + +function requetes() +{ + codeProfil = $("#codeProfil_C" ).val(); + + if(codeProfil=="PHA") + { + consultationpha(); + return; + } + + if(codeProfil=="OPT") + { + consultationopt(); + return; + } + + if(codeProfil=="CSO") + { + consultationcso(); + return; + } + + if(codeProfil=="LAB") + { + consultationlab(); + return; + } + + if(codeProfil=="SEA") + { + consultationsea(); + return; + } +} + +// + +function lister_factures_pha_ben() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationbenpha/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function lister_factures_opt_ben() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationbenopt/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function afficher_facture_cons_pha_ben(idFacture, numeroBonOrdonnance, codePrestataireLivraison) +{ + if (idFacture>"") + { + donnees = 'idFacture='+idFacture+'&numeroBonOrdonnance='+numeroBonOrdonnance+'&codePrestataireLivraison='+codePrestataireLivraison; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfacturepha/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + consulter_facture_pha_ben(); + } + }); + } +} + +function afficher_facture_cons_pha(idFacture, numeroBonOrdonnance, codePrestataireLivraison) +{ + if (idFacture>"") + { + donnees = 'idFacture='+idFacture+'&numeroBonOrdonnance='+numeroBonOrdonnance+'&codePrestataireLivraison='+codePrestataireLivraison; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfacturepha/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + consulter_facture_pha(); + } + }); + } +} + +function consulter_facture_pha_ben() +{ + window.location.assign($("#racineWeb" ).val()+"Pharmacienconsben/"); +} + +function consulter_facture_pha() +{ + window.location.assign($("#racineWeb" ).val()+"Pharmaciencons/"); +} + +function afficher_facture_cons_opt_ben(idFacture, numeroBonOptique, numeroOptique, codePrestataireLivraison) +{ + if (idFacture>"") + { + donnees = 'idFacture='+idFacture+'&numeroBonOptique='+numeroBonOptique+'&numeroOptique='+numeroOptique; + donnees += '&codePrestataireLivraison='+codePrestataireLivraison; + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfactureopt/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + consulter_facture_opt_ben(); + } + }); + } +} + +function consulter_facture_opt_ben() +{ + window.location.assign($("#racineWeb" ).val()+"Opticienconsben/"); +} + +function consultations() +{ + window.location.assign($("#racineWeb" ).val()+"Consultations/"); +} + + +function listerdossiercons_pha() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + donnees_sav = donnees; + + $("#detail_reglement").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationphaentete/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#reglement").html(data); + }, + complete: function() { + } + }); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationpha/", + type : 'post', + data: donnees_sav, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#detail_reglement").html(data); + $("#detail_reglement").css("padding-top", "0px"); + }, + complete: function() { + } + }); +} + +function listerdossiercons_opt() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + donnees_sav = donnees; + + $("#detail_reglement").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationoptentete/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#reglement").html(data); + }, + complete: function() { + } + }); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationopt/", + type : 'post', + data: donnees_sav, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#detail_reglement").html(data); + $("#detail_reglement").css("padding-top", "0px"); + }, + complete: function() { + } + }); +} + +function afficher_facture_cons_opt(idFacture, numeroBonOptique, numeroOptique, codePrestataireLivraison) +{ + if (idFacture>"") + { + donnees = 'idFacture='+idFacture+'&numeroBonOptique='+numeroBonOptique+'&numeroOptique='+numeroOptique; + donnees += '&codePrestataireLivraison='+codePrestataireLivraison; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfactureopt/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + consulter_facture_opt(); + } + }); + } +} + +function consulter_facture_opt() +{ + window.location.assign($("#racineWeb" ).val()+"Opticiencons/"); +} + +function liste_decompte() +{ + window.location.assign($("#racineWeb" ).val()+"Listedecomptes/"); +} + +function listerdecomptes() +{ + codeExercice = $("#codeExercice").val(); + // codeMois = $("#codeMois").val(); + codeEtatDecompte = $("#codeEtatDecompte").val(); + + if (codeExercice<=" ") + { + v_msg="Veuillez sélectionner un exercice !!"; + v_msgEng="Please select an exercise !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeExercice").focus(); + return; + } + + /* + if (codeMois<=" ") + { + v_msg="Veuillez sélectionner un exercice !!"; + v_msgEng="Please select a month !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeMois").focus(); + return; + } + */ + + // donnees = 'codeExercice='+codeExercice+'&codeMois='+codeMois+'&codeEtatDecompte='+codeEtatDecompte; + donnees = 'codeExercice='+codeExercice+'&codeEtatDecompte='+codeEtatDecompte; + + $("#div_detail").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistedecomptes/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_detail").html(data); + }, + complete: function() { + } + }); +} + +function consulterdecompte(idReglement) +{ + donnees = 'idReglement='+idReglement; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdecompte/initierdecompte/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + }, + complete: function() { + afficher_decompte(); + } + }); +} + +function afficher_decompte() +{ + // $("#detail_demande_decompte").html('
' + '' + '
'); + + window.location.assign($("#racineWeb" ).val()+"Decomptecons/"); +} + + +function sortirdexclusionstandards() +{ + idBeneficiaire = $("#idBeneficiaire_C").val(); + idAdherent_C = $("#idAdherent_C" ).val(); + + + // alert("idBeneficiaire = "+idBeneficiaire); + if (idBeneficiaire>"0") + { + afficher_beneficiaire_id(); + } + if (idAdherent_C>"0") + { + afficher_adherent_id(); + } + else + { + recherche(); + } +} + +function exclusionstandards() +{ + window.location.assign($("#racineWeb" ).val()+"Exclusionstandards/"); +} + + +function envoimaildivers(datamail) +{ + // var url_mail = "http://testprestation.medicare.rw/Cron/Ajaxenvoimaildivers.php?"+datamail; + + lienMail = $("#lienMail_C").val(); + var url_mail = lienMail+"/Cron/Ajaxenvoimaildivers.php?"+datamail; + + $.ajax({ + url : url_mail, + type : "GET", + error : function(errorData) { + // alert("Erreur : "+errorData); + }, + success :function(data) + { + // alert("mail envoyée avec succès"); + } + }); +} + +function mettremailattente(datamail) +{ + // alert("datamail : "+datamail); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmailattente/ajouter/", + type: 'POST', + data: datamail, + success: function(data) { + }, + error: function(data) { + }, + complete: function() { + } + }); +} + +function mettremailattente_adh(datamail) +{ + // suspension provisoire Vivien 20/03/20118 + + return; + + /* + emailAdherent = $("#emailAdherent_C").val(); + + if(emailAdherent.length>4) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmailattente/ajouter/", + type: 'POST', + data: datamail, + success: function(data) { + }, + error: function(data) { + }, + complete: function() { + } + }); + } + */ +} + +function preparesms(typeSms) +{ + p_destinataires = ""; + p_message = ""; + + if (typeSms=="demandederogation") + { + p_destinataires = $("#smsDerogation_C").val(); + + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + prestataire = $("#prestataire_C").val(); + + //p_message = prestataire; + p_message = prestataire+" "; + + p_message += "\n"; + p_message += "Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message += "\n"; + p_message += "Demande derogation pour : "+libelleDerogation; + } + // Fin SMS demande dérogation + + // ententeprealable + if (typeSms=="ententeprealable") + { + p_destinataires = $("#smsAccordPrealable_C").val(); + + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + prestataire = $("#prestataire_C").val(); + + // p_message = prestataire; + p_message = prestataire+" "; + p_message += "\n"; + p_message += "Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message += "\n"; + p_message += "Alerte : Accord prealable"; + } + // Fin ententeprealable + + // hospitalisation + if (typeSms=="hospitalisation") + { + p_destinataires = $("#smsMedecinConseil_C").val(); + + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + prestataire = $("#prestataire_C").val(); + + + p_message = prestataire+" "; + p_message += "\n"; + p_message += "Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message += "\n"; + p_message += "No Bon Hospit. : "+numeroBon+" "; + p_message += "\n"; + p_message += "Avis Hospitalisation"; + } + // Fin ententeprealable + + // facturer_cso + if (typeSms=="facturer_cso") + { + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + numeroBonConsultation = $("#numeroBonConsultation_C").val(); + + p_destinataires = $("#telephonePortableAdherent_C").val(); + + p_message = $("#prestataire_C").val()+" "; + p_message +="Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message +="Bon consultation No : "+numeroBonConsultation+" "; + p_message +="Consommation : "+cout+" FRW "; + p_message +="TM : "+montantTm+" FRW"; + } + // Fin facturer_cso + + // facturer_pha + if (typeSms=="facturer_pha") + { + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + numeroBonOrdonnance = $("#numeroBonOrdonnance_C").val(); + + p_destinataires = $("#telephonePortableAdherent_C").val(); + + p_message = $("#prestataire_C").val()+" "; + p_message +="Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message +="Ordonnance No : "+numeroBonOrdonnance+" "; + p_message +="Consommation : "+cout+" FRW "; + p_message +="TM : "+montantTm+" FRW"; + } + // Fin facturer_pha + + + // facturer_lab + if (typeSms=="facturer_lab") + { + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + numeroBonExamen = $("#numeroBonExamen_C").val(); + + p_destinataires = $("#telephonePortableAdherent_C").val(); + + p_message = $("#prestataire_C").val()+" "; + p_message +="Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message +="Ordonnance No : "+numeroBonExamen+" "; + p_message +="Consommation : "+cout+" FRW "; + p_message +="TM : "+montantTm+" FRW"; + } + // Fin facturer_pha + + // facturer_opt + if (typeSms=="facturer_opt") + { + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + numeroBonOptique = $("#numeroBonOptique_C").val(); + + p_destinataires = $("#telephonePortableAdherent_C").val(); + + p_message = $("#prestataire_C").val()+" "; + p_message +="Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message +="Ordonnance No : "+numeroBonOptique+" "; + p_message +="Consommation : "+cout+" FRW "; + p_message +="TM : "+montantTm+" FRW"; + } + // Fin facturer_opt + + // autorisation + if (typeSms=="autorisation") + { + p_destinataires = $("#smsAccordPrealable_C").val(); + + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + prestataire = $("#prestataire_C").val(); + + // p_message = prestataire; + p_message = prestataire+" "; + p_message += "\n"; + p_message += "Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message += "\n"; + p_message += "Alerte : Demande Autorisation Acte Exclu"; + } + // Fin autorisation + + // facturer_sea + if (typeSms=="facturer_sea") + { + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + numeroBonKine = $("#numeroBonKine_C").val(); + + p_destinataires = $("#telephonePortableAdherent_C").val(); + + p_message = $("#prestataire_C").val()+" "; + p_message +="Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message +="Ordonnance No : "+numeroBonKine+" "; + p_message +="Consommation : "+cout+" FRW "; + p_message +="TM : "+montantTm+" FRW"; + } + + // 07/01/2018 + + // commandebon + if (typeSms=="commandebon") + { + p_destinataires = $("#smsGestionBon_C").val(); + + prestataire = $("#prestataire_C").val(); + + p_message = prestataire+" "; + p_message += "\n"; + p_message += "Commande de bons de PEC " ; + p_message += "\n"; + p_message += "Quantite : "+quantite+" "; + p_message += "\n"; + p_message += "Type : "+libelleBon+"."; + } + // Fin commandebon + + // ententeprealablepha + if (typeSms=="ententeprealablepha") + { + p_destinataires = $("#smsAccordPrealable_C").val(); + + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + prestataire = $("#prestataire_C").val(); + + // p_message = prestataire; + p_message = prestataire+" "; + p_message += "\n"; + p_message += "Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message += "\n"; + p_message += "Alerte : Accord prealable pharamacie"; + } + // Fin ententeprealable + + if (typeSms=="accident") + { + p_destinataires = $("#smsAccordPrealable_C").val(); + + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + prestataire = $("#prestataire_C").val(); + + // p_message = prestataire; + p_message = prestataire+" "; + p_message += "\n"; + p_message += "Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message += "\n"; + p_message += "Alerte : Accident de la circulation"; + } + // Fin accident + + // ententeprealableopt + if (typeSms=="ententeprealableopt") + { + p_destinataires = $("#smsAccordPrealable_C").val(); + + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + prestataire = $("#prestataire_C").val(); + + // p_message = prestataire; + p_message = prestataire+" "; + p_message += "\n"; + p_message += "Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message += "\n"; + p_message += "Alerte : Accord prealable verres"; + } + // Fin ententeprealable + + // ententeprealablemont + if (typeSms=="ententeprealablemont") + { + p_destinataires = $("#smsAccordPrealable_C").val(); + + patient = $("#beneficiaire_C").val(); + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + prestataire = $("#prestataire_C").val(); + + // p_message = prestataire; + p_message = prestataire+" "; + p_message += "\n"; + p_message += "Patient : "+patient+" ("+numeroBeneficiaire+") "; + p_message += "\n"; + p_message += "Alerte : Accord prealable monture"; + } + // Fin ententeprealablemont + + // alert("p_destinataires : "+p_destinataires); + // alert("p_message : "+p_message); + + envoyersms(p_destinataires, p_message); // KANEZA + // envoyersms_hooza(p_destinataires, p_message); // HOOZA +} + +// envoyersms_kaneza +function envoyersms(p_destinataires, p_message) +{ + // alert("envoyersms_kaneza"); + + envoyer_messagerie(p_message, "0"); + + // p_destinataires = "250780440758"; + + v_msg="Envoi SMS... !"; + v_msgEng="Sending SMS... !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + // alert("p_destinataires "+p_destinataires); + + if(p_destinataires.length>4) + { + var addr = p_destinataires.split(","); + + // alert("addr "+addr); + // console.log(addr); + // return; + + addr.forEach(function(element) + { + p_dest = element; + + donnees = "destinataires="+p_dest+"&message="+p_message; + + // alert(donnees); + // console.log(donnees); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenvoisms/envoyersms/", + type: 'POST', + crossDomain: true, + xhrFields: { + withCredentials: true + }, + data: donnees + }); + }); + } +} + +// envoyersms_hooza +function envoyersms_hooza(p_destinataires, p_message) +{ + alert("envoyersms_hooza"); + + envoyer_messagerie(p_message, "0"); + + v_msg="Envoi SMS... !"; + v_msgEng="Sending SMS... !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + // alert("p_destinataires "+p_destinataires); + + if(p_destinataires.length>4) + { + donnees = "destinataires="+p_destinataires+"&message="+p_message; + + // alert(donnees); + + /* + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenvoismshooza/envoyersms/", + type: 'POST', + crossDomain: true, + xhrFields: { + withCredentials: true + }, + data: donnees + }); + */ + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenvoismshooza/envoyersms/", + type: 'POST', + crossDomain: true, + xhrFields: { + withCredentials: true + }, + data: donnees, + success: function(data) { + alert("success "+data); + console.log(data); + }, + error: function(data2) { + alert("erreur : "+data2); + console.log(data2); + }, + complete: function() { + } + }); + + } +} + +function liste_ententeprealable() +{ + window.location.assign($("#racineWeb" ).val()+"Listeententeprealables/"); +} + +function liste_exclusions() +{ + window.location.assign($("#racineWeb" ).val()+"Listeexclusions/"); +} + +function alerter_depassement_limite() +{ + fraisExcluLivre=$("#fraisExcluLivre").val(); + fraisExcluLivre = parseInt(fraisExcluLivre); + + if (fraisExcluLivre>0) + { + v_msg="Attention ! Dépassement de limite"; + v_msgEng="Warning ! Overflow"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } +} + +function alerter_depassement_limite_cso() +{ + fraisExclu=$("#fraisExclu").val(); + fraisExclu = parseInt(fraisExclu); + + if (fraisExclu>0) + { + v_msg="Attention ! Dépassement de limite"; + v_msgEng="Warning ! Overflow"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } +} + +function maj_fraisexclu_cso() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdepassementlimitefeuillemaladie/", + error: function(errorData) { + }, + success: function(data) { + $("#div_fraisExclu").html(data); + }, + complete: function() { + alerter_depassement_limite_cso(); + } + }); +} + +function consommables() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + ajoutConsommable = $("#ajoutConsommable").val(); + + if (ajoutConsommable!="1") + { + v_msg="Déjà inclu dans les actes ! Souhaitez-vous continuer ?"; + v_msgEng="Already included in the acts ! Would you like to continue ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + window.location.assign($("#racineWeb" ).val()+"Consommables/"); + return; + } + else + { + return; + } + } + window.location.assign($("#racineWeb" ).val()+"Consommables/"); +} + + +function afficher_recherche_consommable() +{ + nomConsommable = $("#nomConsommable").val(); + + if (nomConsommable > " ") + { + donnees = "nomConsommable="+nomConsommable; + + $("#div_listeconsommable").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteconsommables/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_listeconsommable").html(data); + } + }); + } +} + +function ajouter_consommable(idConsommable, libelleConsommable) +{ + if (libelleConsommable<=" ") + { + v_msg="Veuillez sélectionner un consommable !"; + v_msgEng="Please select a consumable !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + v_msg="Ajouter : "+libelleConsommable+" ?"; + v_msgEng="Add : "+libelleConsommable+" ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + donnees = 'idConsommable='+idConsommable; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteconsommables/ajouterconsommable/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + maj_fraisexclu_cso(); + }, + complete: function() { + // afficher_consommable(); + feuillemaladie(); + } + }); + } +} + +function ajax_maj_qte_consommable(idConsommable, quantite, controle) +{ + quantite=quantite.replace(",","."); + controle.value=quantite; + + if(controle_numerique(controle)) + { + if(quantite==0) + { + controle.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idConsommable='+idConsommable+"&quantite="+quantite; + + // alert("ajax_maj_qte_consommable : "+donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteconsommables/majquantite/", + type: 'POST', + data: donnees, + success: function(data) { + // $('#div_test_gabarit').html(data); + }, + error: function(data) { + }, + complete: function() { + afficher_consommable(); + } + }); + } +} + +function ctrlkeypressconsommable(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_recherche_consommable(); + } +} + +function afficher_consommable() +{ + $("#div_listeconsommable").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxafficherconsommables/", + error: function(errorData) { + }, + success: function(data) { + $("#div_listeconsommable").html(data); + $("#libelleconsommable").focus(); + } + }); +} + +function changer_type_bon() +{ + $("#nbligne_info").val("0"); +} + +function afficher_pop_recherche_medecin() +{ + + noOrdreMedecin = $("#noOrdreMedecin").val(); + nomsearch = $("#nomsearch").val(); + + if(noOrdreMedecin+nomsearch<=" ") + return; + + donnees = "valid=1&noOrdreMedecin="+noOrdreMedecin+"&nomsearch="+nomsearch; + + $("#div_listemedecins").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistemedecins/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_listemedecins").html(data); + } + }); +} + + +function afficher_pop_recherche_actes_cons() +{ + libelleActeSearch = $("#libelleActeSearch").val(); + + if(libelleActeSearch<=" ") + { + return; + } + + donnees = "valid=1&libelleActeSearch="+libelleActeSearch; + + $("#div_liste_actes_cons").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteactescons/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_liste_actes_cons").html(data); + } + }); +} + + +function afficher_pop_recherche_actes_possibles() +{ + libelleActeSearch = $("#libelleActeSearch").val(); + + if(libelleActeSearch<=" ") + { + return; + } + + donnees = "valid=1&libelleActeSearch="+libelleActeSearch; + + $("#div_liste_actes_possibles").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteactespossibles/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_liste_actes_possibles").html(data); + } + }); +} + + +function ctrlkeypress_medecin(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_medecin(); + } +} + + +function ctrlkeypress_actes_cons(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_actes_cons(); + } +} + + +function ctrlkeypress_actes_possibles(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_actes_possibles(); + } +} + + +function selectionner_medecin(codeMedecin, nomMedecin, noOrdreMedecin) +{ + if(noOrdreMedecin+codeMedecin<=" ") + return; + +v_msg="Confirmez-vous ce Médecin : "+nomMedecin+" ?"; + v_msgEng="Do you confirm this Doctor : "+nomMedecin+" ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + $("#codeMedecin").val(codeMedecin); + $("#nomMedecin").html(nomMedecin+" ( "+noOrdreMedecin+" )"); + + $("#close_pop").click(); + } +} + +function maj_prix_actemedical() +{ + prixTarif = $("#prixTarif").val(); + prixNew = $("#prixNew").val(); + + if(prixNew==0 || parseFloat(prixNew)>parseFloat(prixTarif)) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#prixNew").focus(); + + return; + } + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#quantite").focus(); + + return; + } + + ententePrealable = $("#ententePrealable").val(); + acteExclu = $("#acteExclu").val(); + acteChirurgie = $("#acteChirurgie").val(); + + donnees = 'prixNew='+prixNew+'&quantite='+quantite+'&prixTarif='+prixTarif; + donnees += '&ententePrealable='+ententePrealable+'&acteExclu='+acteExclu+'&acteChirurgie='+acteChirurgie; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmajprixactemed/", + type : 'post', + data : donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // alert(data); + $("#infosacte").html(data); + }, + complete: function() { + $("#btn_close_pop_tarif").click(); + } + }); +} + +function afficher_pop_tarif() +{ + prixActe = $("#prixActe").val(); + $("#prixNew").val(prixActe); + $("#btn_pop_tarif").click(); +} + +function demanderaccordacteexclu() +{ + v_msg="Acte non couvert !"; + v_msgEng="Not covered !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + +/* + acteExclu = $("#acteExclu").val(); + + autorisation = "2"; + + donnees="" + donnees_sav=""; + + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#nomMedecin").focus(); + return; + } + + codeActe = $("#codeActe").val(); + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + div_prix = $("#prixActe"); + prixActe = div_prix.val(); + + prixTarif = $("#prixTarif").val(); + + if(prixActe==0 || parseFloat(prixActe)>parseFloat(prixTarif)) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + quantite = parseInt(quantite); + div_quantite.val(quantite); + + if(quantite==0) + { + div_quantite.focus(); + + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please neter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Attention! Acte exclu. Demander un accord ?"; + v_msgEng="Warning! Non covered Act. Request Agreement ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + prixActe = $("#prixActe").val(); + valeurActe = $("#valeurActe").val(); + + montantTm = $("#montantTm").val(); + aRembourser = $("#aRembourser").val(); + + ententePrealable = "0"; + + donnees = 'codeActe='+codeActe+'&codeMedecin='+codeMedecin+'&quantite='+quantite+'&ententePrealable='+ententePrealable; + donnees += '&prixActe='+prixActe+'&valeurActe='+valeurActe+'&montantTm='+montantTm+'&aRembourser='+aRembourser; + donnees += '&autorisation='+autorisation+'&prixTarif='+prixTarif; + + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val(); + + donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailautorisation'; + + typeSms="autorisation"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistreractemedical/enregistreractemedical/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + maj_fraisexclu_cso(); + + preparesms(typeSms); + + v_msg="Demande autorisation envoyée !"; + v_msgEng="Request for authorization sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + }, + complete: function() { + mettremailattente(donnees_sav); + + feuillemaladie(); + } + }); + } +*/ +} + +function afficher_pop_recherche_actes_cons() +{ + libelleActeSearch = $("#libelleActeSearch").val(); + + if(libelleActeSearch<=" ") + { + return; + } + + donnees = "valid=1&libelleActeSearch="+libelleActeSearch; + + $("#div_liste_actes_cons").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteactescons/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_liste_actes_cons").html(data); + } + }); +} + +function selectionner_acte_possibles(codeFamilleActe, codeActe, familleActe, libelleActe) +{ + if(libelleActe<=" ") + return; + + $("#codeFamilleActe").val(codeFamilleActe); + // ajaxactespossibles(); + ajaxactespossibles_med(); + + v_msg="Confirmez-vous cet acte : "+libelleActe+" ?"; + v_msgEng="Do you confirm this act : "+libelleActe+" ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + $("#codeActe").val(codeActe); + ajaxprixactemed(); + + $("#libelleActe").val(libelleActe); + $("#close_pop_acte").click(); + } +} + +function ctrlkeypress_pha(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_medicament_pha(); + } +} + +function afficher_pop_recherche_medicament_pha() +{ + nomsearch = $("#nomsearch").val(); + + if (nomsearch > " ") + { + donnees = "valid=1&nomsearch="+nomsearch; + + $("#div_listemedicament").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistemedicamentspha/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_listemedicament").html(data); + } + }); + } +} + + +function prescrire_medicament_pha() +{ +// Ajout à la prescription + codePrestatairePrescription = $("#codePrestatairePrescription").val(); + codeMedicament = $("#codeMedicament_pop").val(); + libelleMedicament = $("#libelleMedicament_pop").val(); + + if (codeMedicament<=" ") + { + v_msg="Veuillez sélectionner un médicament !"; + v_msgEng="Please select a medicine/drug!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + donnees = 'codeMedicament='+codeMedicament; + donnees += '&codePrestatairePrescription=' + codePrestatairePrescription; + + // alert(donnees); + // return; + + v_msg="Prescrire : "+libelleMedicament+" ?"; + v_msgEng="Prescribe : "+libelleMedicament+" ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailpharmacien/ajoutermedicamentprescription/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#btn_close_pop_medicament").click(); + $("#livraison").html(data); + raffraichier_detail_prescription(); + }, + complete: function() { + alerter_depassement_limite(); + } + }); + } +// Fin Ajout à l aprescription +} + +function raffraichier_detail_prescription() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailordonnance/", + type : 'post', + // data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#ordonnance").html(data); + }, + complete: function() { + } + }); +} + +function actualiser_pharmacien() +{ + /* modif du 15/11/2018 + // window.location.assign($("#racineWeb" ).val()+"Pharmacien/"); + actualiser_saisie_pharmacien(); + */ + + window.location.assign($("#racineWeb" ).val()+"Pharmacien/"); +} + +function ajax_maj_qte_medicament_pha(idMedicament, quantite, controle) +{ + quantite=quantite.replace(",","."); + controle.value=quantite; + + if(controle_numerique(controle)) + { + if(quantite==0) + { + controle.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idMedicament='+idMedicament+"&quantite="+quantite; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailpharmacien/majquantitepha/", + type: 'POST', + data: donnees, + success: function(data) { + // $("#medicaments").html(data); + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + controle.focus(); + } + }); + } +} + +function prescription_examen() +{ + window.location.assign($("#racineWeb" ).val()+"Prescriptionexamen/"); +} + +function valider_presciption_examens() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + nbExamens=$("#nbExamens").val(); + nbExamens = parseInt(nbExamens); + + /* On peut saisir juste le N° de bon + sans saisir le détail de la prescription + + if (nbExamens<1) + { + v_msg="Rien à valider!"; + v_msgEng="Nothing to save!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + */ + + v_msg="Confirmez-vous cette presciption ?"; + v_msgEng="Do you confirm this prescription ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + feuillemaladie(); + /* + $.ajax({ + // url: $("#racineWeb").val()+"Ajaxenregistreroptique/videroptiquetemp/", + url: $("#racineWeb").val()+"Ajaxenregistrerexamen/viderexamentemp/", + type : 'post', + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + feuillemaladie(); + }, + complete: function() { + } + }); + */ + } +} + +function ajaxinfosbonprescriptionexamen() +{ + numeroBonExamen = $("#numeroBonExamen").val(); + numeroBonExamen = parseInt(numeroBonExamen); + if (numeroBonExamen>0) + { + v_msg="Déjà effectué !"; + v_msgEng="Already done !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + codeMedecin = $("#codeMedecin").val(); + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").val(""); + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonexamen/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function supprimer_examen(idExamen) +{ + v_msg="Confirmez-vous la suppression de cet examen ?"; + v_msgEng="Do you confirm the removal of this exam?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + donnees = 'idExamen='+idExamen; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailprescriptionexamen/supprimer/", + type: 'POST', + data: donnees, + success: function(data) { + $("#examens").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + // prescription_examen(); + } + }); + } +} + +function enregistrerprescriptionexamen() +{ + numeroBonSave = $("#numeroBonSave").val(); + + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number of prescription ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + donnees = 'numeroBon='+numeroBon+'&codeMedecin='+codeMedecin; + + $("#btn_enreg").disable(); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerprescriptionexamen/enregistrerprescriptionexamen/", + type : 'post', + data: donnees, + error: function(errorData) { + $("#msgErreur").html(errorData); + // alert("Erreur : "+errorData); + }, + success: function(data) { + }, + complete: function() { + v_msg="Prescription enregistrée avec succès"; + v_msgEng="Saved successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + prescription_examen(); + } + }); + } +} + +function ctrlkeypress_examens_possibles(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_examens_possibles(); + } +} + +function afficher_pop_recherche_examens_possibles() +{ + libelleActeSearch = $("#libelleActeSearch").val(); + + if(libelleActeSearch<=" ") + { + return; + } + + donnees = "valid=1&libelleActeSearch="+libelleActeSearch; + + $("#div_liste_actes_possibles").html('
' + '' + '
'); + + $.ajax({ + // url: $("#racineWeb").val()+"Ajaxlisteactespossibles/", + url: $("#racineWeb").val()+"Ajaxlisteexamenspossibles/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_liste_actes_possibles").html(data); + } + }); +} + +function ajouter_examen_possible(codeActe, libelleActe, acteExclu, ententePrealable) +{ + typeSms="ententeprealable"; + + if(libelleActeSearch<=" ") + { + return; + } + + if(acteExclu==1) + { + v_msg="Acte non couvert !"; + v_msgEng="Not covered !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + v_msg="Confirmez-vous cet acte : "+libelleActe+" ?"; + v_msgEng="Do you confirm this act : "+libelleActe+" ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + donnees = 'codeActe='+codeActe+'&ententePrealable='+ententePrealable; + + // alert(donnees); + // return; + + if (ententePrealable==1) + { + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val(); + donnees_sav = donnees+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable'; + + // alert("donnees_sav = "+donnees_sav); + + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailprescriptionexamen/ajouterexamen/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + if(ententePrealable==1) + { + preparesms(typeSms); + + v_msg="Demande accord prealable envoyée !"; + v_msgEng="Request prior agreement sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + + // prescription_examen(); + + }, + complete: function() { + if(ententePrealable==1) + { + mettremailattente(donnees_sav); + } + + prescription_examen(); + + } + }); + } +} + +function ajax_maj_qte_examen(idExamen, quantite, controle) +{ + quantite=quantite.replace(",","."); + controle.value=quantite; + + if(controle_numerique(controle)) + { + if(quantite==0) + { + controle.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idExamen='+idExamen+"&quantite="+quantite; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailprescriptionexamen/majquantite/", + type: 'POST', + data: donnees, + success: function(data) { + $("#examens").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + controle.focus(); + } + }); + } +} + +function examensmedicaux() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + numeroExamen=$("#numeroExamen_C").val(); + + if (numeroExamen==0) + { + v_msg="Aucun examen prescrit !"; + v_msgEng="No prescribed exam !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Examensmedicaux/"); +} + + +function valider_examen_cso() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + if (nbLivre<1) + { + v_msg="Rien à enregitrer! Confirmez-vous cette situation ?"; + v_msgEng="Nothing to save! Do you confirm this situation?"; + v_msg +="\n"; + v_msg +=v_msgEng; + } + else + { + v_msg="Confirmez-vous ces examens ?"; + v_msgEng="Do you confirm these exams ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + } + if (confirm(v_msg)) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailexamen/enregistrerexamen/", + type: 'POST', + success: function(data) { + maj_fraisexclu_cso(); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + feuillemaladie(); + } + }); + } +} + +function ajouterexamen_tous() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailexamen/ajouterexamentous/", + type: 'POST', + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite_cso(); + } + }); +} + +function ajouterexamen(idExamen, ententePrealable, codeActe) +{ + donnees = 'idExamen='+idExamen+'&codeActe='+codeActe+'&ententePrealable='+ententePrealable; + + typeSms="ententeprealable"; + + if (ententePrealable==9) + { + v_msg="Acte refusé !"; + v_msgEng="Act refused !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + if (ententePrealable==2) + { + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val(); + donnees_sav = donnees+'&codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable'; + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailexamen/ajouterexamen/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + + if(ententePrealable=="2") + { + preparesms(typeSms); + + v_msg="Demande accord prealable envoyée !"; + v_msgEng="Request prior agreement sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }, + error: function(data) { + //alert(data); + }, + complete: function() { + if(ententePrealable=="2") + { + mettremailattente(donnees_sav); + } + } + }); +} + +function retirerexamen_tous() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailexamen/retirerexamentous/", + type: 'POST', + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function retirerexamen(idExamen) +{ + donnees = 'idExamen='+idExamen; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailexamen/retirerexamen/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function consulter_limite_avant_facturation_cons() +{ + idFacture=$("#idFacture_C").val(); + + // alert("consulter_limite_avant_facturation_cons : "+idFacture); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturecons/"); +} + +function consulter_limite_avant_facturation() +{ + idFacture=$("#idFacture_C").val(); + + // alert("consulter_limite_avant_facturation : "+idFacture); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacture/"); +} + + + +function consulter_limite_avant_facturation_cons_ben() +{ + idFacture=$("#idFacture_C").val(); + + // alert("consulter_limite_avant_facturation_cons_ben : "+idFacture); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureconsben/"); +} + +function consulter_limite_avant_facturation_pha() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturepha/"); +} + +function consulter_limite_avant_facturation_pha_cons() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturephacons/"); +} + +function consulter_limite_avant_facturation_pha_cons_ben() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturephaconsben/"); +} + +function actualiser_opticien() +{ + window.location.assign($("#racineWeb" ).val()+"Opticien/"); +} + +function reinitialiser_opticien() +{ + window.location.assign($("#racineWeb" ).val()+"Opticien/0"); +} + + +function consulter_limite_avant_facturation_opt() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureopt/"); +} + +function consulter_limite_avant_facturation_opt_cons() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureoptcons/"); +} + +function consulter_limite_avant_facturation_opt_cons_ben() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureoptconsben/"); +} + +function ajouterexamen_lab_tous() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/ajouterexamentous/", + type: 'POST', + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + } + }); +} + +function ajouterexamen_lab(idExamen) +{ + donnees = 'idExamen='+idExamen; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/ajouterexamen/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + } + }); +} + + +function retirerexamen_lab(idExamen) +{ + donnees = 'idExamen='+idExamen; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/retirerexamen/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + } + }); +} + +function ctrlkeypress_examens_possibles_lab(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_examens_possibles_lab(); + } +} + +function afficher_pop_recherche_examens_possibles_lab() +{ + libelleActeSearch = $("#libelleActeSearch").val(); + + if(libelleActeSearch<=" ") + { + return; + } + + donnees = "valid=1&libelleActeSearch="+libelleActeSearch; + + $("#div_liste_actes_possibles").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteexamenspossibleslab/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_liste_actes_possibles").html(data); + } + }); +} + +function consulter_limite_avant_facturation_lab() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturelab/"); +} + +function actualiser_laboratoire() +{ + window.location.assign($("#racineWeb" ).val()+"Laboratoire/"); +} + +function valider_examen_lab() +{ + numeroExamen=$("#numeroExamen_C").val(); + + if (numeroExamen<="0") + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + facture=$("#facture").val(); + facture = parseInt(facture); + + if (facture>0) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + if (facture==0 && nbLivre<1) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous ces actes ?"; + v_msgEng="Do you confirm those acts?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + modeSaisieFacture=$("#modeSaisieFacture").val(); + if(modeSaisieFacture=="1") + { + $("#okId" ).val("1"); + facturer_lab(); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + facturer_lab(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id =$("#user_id_C").val(); + finger_id =$("#finger_id_C").val(); + + $("#facturation").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&facturation=1"; + + load("flexcode/user.php?"+data); + } + } +} + +function retirerexamen_lab_tous() +{ + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/retirerexamentous/", + type: 'POST', + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + // actualiser_pharmacien(); + } + }); +} + +function facturer_lab() +{ + facture=$("#facture").val(); + facture = parseInt(facture); + + if (facture>0) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + if (facture==0 && nbLivre<1) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + montantTm = $("#montantTm").val(); + cout = $("#cout").val(); + + donnees = 'prixActe='+prixActe; + donnees += '&montantTm='+montantTm; + donnees += '&cout='+cout; + + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + codePrestataire = $("#codePrestataire_C").val(); + + donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=maillabo'; + + typeSms = "facturer_lab"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/enregistrerlaboratoire/", + type: 'POST', + success: function(data) { + // suspension provisoire Vivien 20/03/20118 + // preparesms(typeSms); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + // suspension provisoire Vivien 20/03/20118 + // mettremailattente_adh(donnees_sav); + + window.location.assign($("#racineWeb" ).val()+"Laboratoire/"); + + v_msg="Facturation effectuée avec succès!"; + v_msgEng="Successful billing!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }); +} + +function prescrire_examen_lab(codeActe, libelleActe, acteExclu, ententePrealable) +{ + typeSms="ententeprealable"; + + if(libelleActeSearch<=" ") + { + return; + } + + if(acteExclu==1) + { + v_msg="Acte non couvert !"; + v_msgEng="Not covered !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + v_msg="Confirmez-vous cet acte : "+libelleActe+" ?"; + v_msgEng="Do you confirm this act : "+libelleActe+" ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + donnees = 'codeActe='+codeActe+'&ententePrealable='+ententePrealable; + + // alert(donnees); + // return; + + if (ententePrealable==1) + { + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val(); + donnees_sav = donnees+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable'; + + // alert("donnees_sav = "+donnees_sav); + + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/ajouterexamenprescription/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#btn_close_pop_acte").click(); + $("#livraison").html(data); + + if(ententePrealable==1) + { + preparesms(typeSms); + + v_msg="Demande accord prealable envoyée !"; + v_msgEng="Request prior agreement sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }, + complete: function() { + if(ententePrealable==1) + { + mettremailattente(donnees_sav); + } + alerter_depassement_limite(); + } + }); + } +} + +function enregistrer_nv_consommables() +{ + libelleconsommable = $("#libelleconsommable").val(); + + if (libelleconsommable<=" ") + { + v_msg="Veuillez saisir le nom !"; + v_msgEng="Please enter tyhe name !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#libelleconsommable").focus(); + return; + } + + quantiteconsommable=$("#quantiteconsommable").val(); + quantiteconsommable=quantiteconsommable.replace(",","."); + $("#quantiteconsommable").val(quantiteconsommable); + + if(isNaN(quantiteconsommable)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#quantiteconsommable").val("0"); + $("#quantiteconsommable").focus(); + return + } + + if(quantiteconsommable==0) + { + $("#quantiteconsommable").focus(); + v_msg="Veuillez saisir la quantité!"; + v_msgEng="Please enter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + prixconsommable=$("#prixconsommable").val(); + prixconsommable=prixconsommable.replace(",","."); + $("#prixconsommable").val(prixconsommable); + + if(isNaN(prixconsommable)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#prixconsommable").val("0"); + $("#prixconsommable").focus(); + return + } + + if(prixconsommable==0) + { + $("#prixconsommable").focus(); + v_msg="Veuillez saisir le prix !"; + v_msgEng="Please enter the price !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + donnees = 'libelleconsommable='+libelleconsommable+'&prixconsommable='+prixconsommable+'&quantiteconsommable='+quantiteconsommable; + + // alert(donnees); + // return; + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteconsommables/creerconsommable/", + type: 'POST', + data: donnees, + success: function(data) { + // $('#div_test_gabarit').html(data); + }, + error: function(data) { + }, + complete: function() { + afficher_consommable(); + } + }); +} + +function ajax_maj_prix_consommable(idConsommable, valeurActe, controle) +{ + valeurActe=valeurActe.replace(",","."); + controle.value=valeurActe; + + if(controle_numerique(controle)) + { + if(valeurActe==0) + { + controle.focus(); + v_msg="Veuillez saisir le prix !"; + v_msgEng="Please enter the price !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idConsommable='+idConsommable+"&valeurActe="+valeurActe; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteconsommables/majprix/", + type: 'POST', + data: donnees, + success: function(data) { + // $('#div_test_gabarit').html(data); + }, + error: function(data) { + }, + complete: function() { + afficher_consommable(); + } + }); + } +} + +function remplacer_feuillemaladie() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Remplacerfeuille/"); +} + +function ajaxinfosremplacerbonconsultation() +{ + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosremplacerbonconsultation/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function enregistrerremplacementconsultation() +{ + numeroBonSave = $("#numeroBonSave").val(); + + motifremplacement = $("#motifremplacement").val(); + + if (motifremplacement<=" ") + { + v_msg="Veuillez saisir le otif du remplacement!"; + v_msgEng="Please enter the reason !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#motifremplacement").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number of presciption ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + OldnumeroBon = $("#OldnumeroBon").val(); + + donnees = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&numeroBon='+numeroBon+'&OldnumeroBon='+OldnumeroBon+'&motifremplacement='+motifremplacement; + + // donnees += '&dateSurvenance='+dateSurvenance+'&observations='+observations+'&prixActe='+prixActe; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosremplacerbonconsultation/enregistrerremplacementconsultation/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + }, + complete: function() { + v_msg="Feuille remplacée avec succès !"; + v_msgEng="Replaced successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + feuillemaladie(); + } + }); + } +} + +function remplacer_ordonnance() +{ + facture=$("#facture").val(); + + if (facture!=1) + { + v_msg="Pas encore facturé, vous pouvez modifier l\'ordonnance !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + numeroBonOrdonnance = $("#numeroBonOrdonnance").val(); + numeroBonOrdonnance = parseInt(numeroBonOrdonnance); + + /* + if (numeroBonOrdonnance<=0) + { + v_msg="Pas de prescription !"; + v_msgEng="No prescription !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + */ + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + fiche_remplacer_ordonnance(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id =$("#user_id_C").val(); + finger_id =$("#finger_id_C").val(); + + $("#remplacerordonnance").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&remplacerordonnance=1"; + + load("flexcode/user.php?"+data); + } +} + +function fiche_remplacer_ordonnance() +{ + window.location.assign($("#racineWeb" ).val()+"Remplacerordonnance/"); +} + +function ajaxinfosremplacerordonnance() +{ + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosremplacerordonnence/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function enregistrerremplacementordonnance() +{ + numeroBonSave = $("#numeroBonSave").val(); + + motifremplacement = $("#motifremplacement").val(); + + if (motifremplacement<=" ") + { + v_msg="Veuillez saisir le otif du remplacement!"; + v_msgEng="Please enter the reason !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#motifremplacement").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number of presciption ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + OldnumeroBon = $("#OldnumeroBon").val(); + + donnees = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&numeroBon='+numeroBon+'&OldnumeroBon='+OldnumeroBon+'&motifremplacement='+motifremplacement; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosremplacerordonnence/enregistrerremplacementordonnance/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + }, + complete: function() { + v_msg="Ordonnance remplacée avec succès !"; + v_msgEng="Replaced successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + prescription_medicament(); + } + }); + } +} + +function afficher_laboratoire_cso() +{ + window.location.assign($("#racineWeb" ).val()+"Laboratoirecso/"); +} + + +function afficher_seance_cso() +{ + window.location.assign($("#racineWeb" ).val()+"Kinecso/"); +} + +function consulter_limite_avant_facturation_lab_cso() +{ + /* + numeroExamen=$("#numeroExamen_C").val(); + + if (numeroExamen<="0") + { + v_msg="Pas de facture!"; + v_msgEng="No bill !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + facture=$("#facture").val(); + facture = parseInt(facture); + + if (facture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + */ + + idFacture=$("#idFacture_C").val(); + + alert("consulter_limite_avant_facturation_lab_cso : "+idFacture); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturelabcso/"); +} + +function rechercherbonexamen_lab() +{ + numeroBonExamen=$("#numeroBonExamen").val(); + + if (numeroBonExamen>" ") + { + chercher_ordonnance_lab(numeroBonExamen); + } +} + +function rechercherbonexamen_lab_cso() +{ + numeroBonExamen=$("#numeroBonExamen").val(); + + if (numeroBonExamen>" ") + { + chercher_ordonnance_lab_cso(numeroBonExamen); + } +} + +function chercher_ordonnance_lab_cso(numeroBonExamen) +{ + donnees = 'numeroBonExamen='+numeroBonExamen; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerordonnancelab/", + type: 'POST', + data: donnees, + success: function(data) { + }, + error: function(data) { + //alert(data); + }, + complete: function() { + afficher_laboratoire_cso(); + } + }); +} + +function valider_examen_lab_cso() +{ + numeroExamen=$("#numeroExamen_C").val(); + + if (numeroExamen<="0") + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + facture=$("#facture").val(); + facture = parseInt(facture); + + if (facture>0) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + if (facture==0 && nbLivre<1) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous ces actes ?"; + v_msgEng="Do you confirm those acts?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + modeSaisieFacture=$("#modeSaisieFacture").val(); + if(modeSaisieFacture=="1") + { + $("#okId" ).val("1"); + facturer_lab_cso(); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + facturer_lab_cso(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id =$("#user_id_C").val(); + finger_id =$("#finger_id_C").val(); + + $("#facturation").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&facturation=1"; + + load("flexcode/user.php?"+data); + } + } +} + +function facturer_lab_cso() +{ + facture=$("#facture").val(); + facture = parseInt(facture); + + if (facture>0) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + nbLivre=$("#nbLivre").val(); + nbLivre = parseInt(nbLivre); + + if (facture==0 && nbLivre<1) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + montantTm = $("#montantTm").val(); + cout = $("#cout").val(); + + donnees = 'prixActe='+prixActe; + donnees += '&montantTm='+montantTm; + donnees += '&cout='+cout; + + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + codePrestataire = $("#codePrestataire_C").val(); + + donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=maillabo'; + + typeSms = "facturer_lab"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/enregistrerlaboratoire/", + type: 'POST', + success: function(data) { + // suspension provisoire Vivien 20/03/20118 + // preparesms(typeSms); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + // suspension provisoire Vivien 20/03/20118 + // mettremailattente_adh(donnees_sav); + + afficher_laboratoire_cso(); + + v_msg="Facturation effectuée avec succès!"; + v_msgEng="Successful billing!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }); +} + +function prescription_seance() +{ + window.location.assign($("#racineWeb" ).val()+"Prescriptionseance/"); +} + + +function seances() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + numeroPrescriptionKine=$("#numeroPrescriptionKine_C").val(); + + if (numeroPrescriptionKine==0) + { + v_msg="Aucune séance prescrite !"; + v_msgEng="No prescribed session !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Seances/"); +} + +function ajaxinfosbonprescriptionseance() +{ + numeroBonKine = $("#numeroBonKine").val(); + numeroBonKine = parseInt(numeroBonKine); + if (numeroBonKine>0) + { + v_msg="Déjà effectué !"; + v_msgEng="Already done !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + codeMedecin = $("#codeMedecin").val(); + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#numeroBon").val(""); + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#nomMedecin").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonseance/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function enregistrerprescriptionseance() +{ + numeroBonSave = $("#numeroBonSave").val(); + + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number of prescription ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + donnees = 'numeroBon='+numeroBon+'&codeMedecin='+codeMedecin; + + $("#btn_enreg").disable(); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerprescriptionseance/enregistrerprescriptionseance/", + type : 'post', + data: donnees, + error: function(errorData) { + $("#msgErreur").html(errorData); + // alert("Erreur : "+errorData); + }, + success: function(data) { + // $("#examens").html(data); + }, + complete: function() { + v_msg="Prescription enregistrée avec succès"; + v_msgEng="Saved successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + prescription_seance(); + } + }); + } +} + +function modifierprescriptionseance() +{ + acteExclu = $("#acteExclu").val(); + + if(acteExclu==1) + { + v_msg="Acte non couvert !"; + v_msgEng="Not covered !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + // $("#codeMedecin").focus(); + $("#nomMedecin").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeActePrescription = $("#codeActe").val(); + + if (codeActePrescription<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + // $("#codeActePrescription").focus(); + return; + } + + quantite =$("#quantite").val(); + + quantite = parseInt(quantite); + + if(quantite<1) + { + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + // $("#quantite").focus(); + return; + } + + div_prix = $("#prixActe"); + prixActe = div_prix.val(); + + // if(prixActe==0 || parseFloat(prixActe)>parseFloat(prixTarif)) + if(prixActe==0) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cette presciption ?"; + v_msgEng="Do you confirm this prescription ?"; + + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + montantTm =$("#montantTm").val(); + montantArembourser =$("#aRembourser").val(); + fraisReel =$("#totalActe").val(); + + donnees = 'codeActePrescription='+codeActePrescription +'&quantite='+quantite +'&prixActe='+prixActe; + donnees += '&montantTm='+montantTm +'&montantArembourser='+montantArembourser +'&fraisReel='+fraisReel; + + + $("#btn_enreg_seance").disable(); + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerprescriptionseance/modifierprescriptionseance/", + type : 'post', + data: donnees, + error: function(errorData) { + $("#msgErreur").html(errorData); + // alert("Erreur : "+errorData); + }, + success: function(data) { + // $("#examens").html(data); + }, + complete: function() { + v_msg="Prescription enregistrée avec succès"; + v_msgEng="Saved successfully !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + prescription_seance(); + } + }); + } +} + +function ajaxprixseance() +{ + $("#prixActe_info").val("0"); + $("#montantTm_info").val("0"); + $("#aRembourser_info").val("0"); + // $("#quantite_info").val("0"); + + codeActe = $("#codeActe").val(); + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un act !"; + v_msgEng="Please select an act !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + div_quantite = $("#quantite"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.focus(); + v_msg="Veuillez saisir le nombre de séances !"; + v_msgEng="Please enter the number of sessions!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + donnees = 'codeActe='+codeActe+'&quantite='+quantite; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxprixseance/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // alert(data); + $("#infosacte").html(data); + }, + complete: function() { + } + }); +} + +function valider_presciption_seances() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + codeActePrescription = $("#codeActePrescription").val(); + + if (codeActePrescription<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_prescrire").click(); + + return; + } + + nbSeance=$("#nbSeance").val(); + nbSeance = parseInt(nbSeance); + + if (nbSeance<1) + { + v_msg="Veuillez saisir le nombre de séances !"; + v_msgEng="Please enter the number of sessions!"; + v_msg +="\n"; + v_msg +=v_msgEng; + + alert(v_msg); + + $("#btn_prescrire").click(); + + return; + } + + v_msg="Confirmez-vous cette presciption ?"; + v_msgEng="Do you confirm this prescription ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + feuillemaladie(); + } +} + + +function valider_seance_cso() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + numeroBonSeance=$("#numeroBonSeance_C").val(); + + if (numeroBonSeance<="0") + { + v_msg="Veuillez sélectionner un bon!"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_InitSession").click(); + return; + } + + + div_quantite = $("#quantiteSeance"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + // div_quantite.focus(); + v_msg="Veuillez saisir le nombre de séances !"; + v_msgEng="Please enter the number of sessions!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + v_msg="Confirmez-vous ces séances ?"; + v_msgEng="Do you confirm these sessions ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailseance/enregistrerseance/", + type: 'POST', + success: function(data) { + maj_fraisexclu_cso(); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + feuillemaladie(); + } + }); + } +} + +function actualiser_seance() +{ + window.location.assign($("#racineWeb" ).val()+"Seances/"); +} + +// SEANCES KINE + + +function valider_seance_sea_cso() +{ + numeroBonSeance=$("#numeroBonSeance_C").val(); + + if (numeroBonSeance<="0") + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + codeActe = $("#codeActe").val(); + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un act !"; + v_msgEng="Please select an act !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + fraisRetenuSeance=$("#fraisRetenuSeance").val(); + + if (fraisRetenuSeance<=0) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous ces séances ?"; + v_msgEng="Do you confirm those sessions?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + modeSaisieFacture=$("#modeSaisieFacture").val(); + if(modeSaisieFacture=="1") + { + $("#okId" ).val("1"); + facturer_sea_cso(); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + facturer_sea_cso(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id =$("#user_id_C").val(); + finger_id =$("#finger_id_C").val(); + + $("#facturation").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&facturation=1"; + + load("flexcode/user.php?"+data); + } + } +} + + +function facturer_sea_cso() +{ + cout = $("#cout").val(); + + if (cout==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + prixActe = $("#prixActe").val(); + montantTm = $("#montantTm").val(); + cout = $("#cout").val(); + + donnees = 'prixActe='+prixActe; + donnees += '&montantTm='+montantTm; + donnees += '&cout='+cout; + + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + codePrestataire = $("#codePrestataire_C").val(); + + donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=mailkine'; + + typeSms = "facturer_sea"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfacturatioseancesea/facturerseance/", + type: 'POST', + success: function(data) { + // suspension provisoire Vivien 20/03/20118 + // preparesms(typeSms); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + // suspension provisoire Vivien 20/03/20118 + // mettremailattente_adh(donnees_sav); + + afficher_seance_cso(); + + v_msg="Facturation effectuée avec succès!"; + v_msgEng="Successful billing!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }); + +} + +function rechercherbonkine_sea() +{ + numeroBonKine=$("#numeroBonKine").val(); + + if (numeroBonKine>" ") + { + chercher_ordonnance_sea(numeroBonKine); + } +} + +function chercher_ordonnance_sea(numeroBonKine) +{ + $("#numeroBonSeance_C").val("-1"); + donnees = 'numeroBonKine='+numeroBonKine; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerordonnancesea/", + type: 'POST', + data: donnees, + success: function(data) { + window.location.assign($("#racineWeb" ).val()+"Kine/"); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function ctrlkeypressordsea(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + numeroBonKine=$("#numeroBonKine").val(); + $("#numeroBonKine").blur(); + } +} + +function rechercherbonkine_sea_cso() +{ + numeroBonKine=$("#numeroBonKine").val(); + + if (numeroBonKine>" ") + { + chercher_ordonnance_sea_cso(numeroBonKine); + } +} + +function chercher_ordonnance_sea_cso(numeroBonKine) +{ + $("#numeroBonSeance_C").val("-1"); + donnees = 'numeroBonKine='+numeroBonKine; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerordonnancesea/", + type: 'POST', + data: donnees, + success: function(data) { + window.location.assign($("#racineWeb" ).val()+"Kinecso/"); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); + +} + + +function ajaxinfosbonseancekine() +{ + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg_bon_kine").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonseancekine/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function enregistrerbonsseancekine() +{ + numeroBonSave = $("#numeroBonSave").val(); + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number of presciption ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonseancekine/attributionbontemporaire/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + }, + complete: function() { + afficher_facturation_seance(); + } + }); + } +} + + +function afficher_facturation_seance() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfacturatioseancesea/", + // type : 'post', + // data: donnees, + error: function(errorData) { + alert("Erreur : "+errorData); + }, + success: function(data) { + $("#btn_close_pop_session").click(); + $("#div_facturation_seance").html(data); + }, + complete: function(data) { + $("#numeroBonSeance_C").val($("#numeroBonSeance_info").val()); + } + }); +} + +function ajaxprixseancesea() +{ + codeActe = $("#codeActe").val(); + + if (codeActe<=" ") + { + $("#prixActe_info").val("0"); + $("#totalActe_info").val("0"); + $("#montantTm_info").val("0"); + $("#aRembourser_info").val("0"); + + v_msg="Veuillez sélectionner un act !"; + v_msgEng="Please select an act !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + div_quantite = $("#quantiteSeance"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.val(1); + + quantite = 1; + /* + div_quantite.focus(); + v_msg="Veuillez saisir le nombre de séances !"; + v_msgEng="Please enter the number of sessions!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + */ + } + + div_nbRestant = $("#nbRestant"); + nbRestant = div_nbRestant.val(); + nbRestant = parseInt(nbRestant); + + if(quantite>nbRestant) + { + div_quantite.focus(); + v_msg="Vous ne pouvez pas dépasser "+nbRestant+" séances!"; + v_msgEng="Only "+nbRestant+" sessions are possible!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + donnees = 'codeActe='+codeActe+'&quantite='+quantite; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxprixseancesea/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosacte").html(data); + }, + complete: function() { + } + }); +} + +// Facturation SEANCE KINE + +function valider_seance_sea() +{ + numeroBonSeance=$("#numeroBonSeance_C").val(); + + if (numeroBonSeance<="0") + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + codeActe = $("#codeActe").val(); + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un act !"; + v_msgEng="Please select an act !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeActe").focus(); + return; + } + + fraisRetenuSeance=$("#fraisRetenuSeance").val(); + + if (fraisRetenuSeance<=0) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous ces séances ?"; + v_msgEng="Do you confirm those sessions?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + modeSaisieFacture=$("#modeSaisieFacture").val(); + if(modeSaisieFacture=="1") + { + $("#okId" ).val("1"); + facturer_sea(); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + facturer_sea(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id =$("#user_id_C").val(); + finger_id =$("#finger_id_C").val(); + + $("#facturation").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&facturation=1"; + + load("flexcode/user.php?"+data); + } + } +} + +function facturer_sea() +{ + cout = $("#cout").val(); + + if (cout==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + prixActe = $("#prixActe").val(); + montantTm = $("#montantTm").val(); + cout = $("#cout").val(); + + donnees = 'prixActe='+prixActe; + donnees += '&montantTm='+montantTm; + donnees += '&cout='+cout; + + numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + codePrestataire = $("#codePrestataire_C").val(); + + donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=mailkine'; + + typeSms = "facturer_sea"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfacturatioseancesea/facturerseance/", + type: 'POST', + success: function(data) { + // suspension provisoire Vivien 20/03/20118 + // preparesms(typeSms); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + // suspension provisoire Vivien 20/03/20118 + // mettremailattente_adh(donnees_sav); + + window.location.assign($("#racineWeb" ).val()+"Kine/"); + + v_msg="Facturation effectuée avec succès!"; + v_msgEng="Successful billing!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }); +} + +/* +function rechercherbonexamen_lab_cso() +{ + numeroBonExamen=$("#numeroBonExamen").val(); + + if (numeroBonExamen>" ") + { + chercher_ordonnance_lab_cso(numeroBonExamen); + } +} +*/ + +// 19/11/2017 + +function enregistrerbonsseancekinecso() +{ + numeroBonSave = $("#numeroBonSave").val(); + + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + codeEtatBon = $("#codeEtatBon").val(); + + if (codeEtatBon!="1") + { + v_msg="Veuillez saisir un N° de bon disponible!"; + v_msgEng="Please enter a prescription number available!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + + // alert("numeroBonSave = "+numeroBonSave+" ; numeroBon = "+numeroBon); + // return; + + if(numeroBonSave!=numeroBon) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + v_msg="Confirmez-vous ce N° de bon ?"; + v_msgEng="Do you confirm this number of presciption ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonseancekinecso/attributionbontemporaire/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + }, + complete: function() { + afficher_facturation_seance_cso(); + } + }); + } +} + + +function afficher_facturation_seance_cso() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfacturatioseancecso/", + error: function(errorData) { + alert("Erreur : "+errorData); + }, + success: function(data) { + $("#btn_close_pop_session").click(); + $("#div_facturation_seance").html(data); + }, + complete: function(data) { + $("#numeroBonSeance_C").val($("#numeroBonSeance_info").val()); + } + }); +} + + +function ajaxinfosbonseancekinecso() +{ + numeroBon = $("#numeroBon").val(); + + if(isNaN(numeroBon)) + { + v_msg="Veuillez revoir le numéro de bon!"; + v_msgEng="Please review the prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + if ($("#numeroBon").val()<="0") + { + v_msg="Veuillez saisir un N° de bon !"; + v_msgEng="Please enter a prescription number!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#btn_enreg_bon_kine").disable(); + $("#msgErreur").html(""); + $("#codeEtatBon").val(""); + + $("#numeroBon").focus(); + return; + } + + donnees = "numeroBon="+numeroBon; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinfosbonseancekinecso/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#infosbon").html(data); + }, + complete: function() { + } + }); +} + +function ajaxmajquteseancecso() +{ + div_prix = $("#prixActe"); + prixActe = div_prix.val(); + + if(prixActe==0) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + div_quantite = $("#quantiteSeance"); + quantite = div_quantite.val(); + + if(quantite=="") + { + quantite = "0"; + } + + div_quantite.val(quantite); + + quantite = parseInt(quantite); + + if(quantite==0) + { + div_quantite.focus(); + v_msg="Veuillez saisir le nombre de séances !"; + v_msgEng="Please enter the number of sessions!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + div_nbRestant = $("#nbRestant"); + nbRestant = div_nbRestant.val(); + nbRestant = parseInt(nbRestant); + + if(quantite>nbRestant) + { + div_quantite.focus(); + v_msg="Vous ne pouvez pas dépasser "+nbRestant+" séances!"; + v_msgEng="Only "+nbRestant+" sessions are possible!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + donnees = 'prixActe='+prixActe+'&quantite='+quantite; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfacturatioseancecso/modifierseancecso/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // $("#infoseance").html(data); + }, + complete: function() { + afficher_facturation_seance_cso(); + } + }); +} + + + +function consulter_limite_avant_facturation_kinecso(idFacture) +{ + if (idFacture<=0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturekinecso/"+idFacture+"/"); +} + + +function consulter_limite_avant_facturation_kine(idFacture) +{ + if (idFacture<=0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturekine/"+idFacture+"/"); +} + +function afficher_seance_kine() +{ + window.location.assign($("#racineWeb" ).val()+"Kine/"); +} + +// consulatation_ben + +function consultationbenlab() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationbenlab/"); +} + +function consultationbensea() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationbensea/"); +} + +function laboratoire() +{ + if (prestation_possible()) + { + /* mis en commentaire le 28/11/2017 + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + } + else + { + finger_id = $("#finger_id_C" ).val(); + + if (finger_id==0) + { + v_msg="Veuillez procéder à l\'enrôlement avant !"; + v_msgEng="Please enroll before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + okId=$("#okId" ).val(); + + if (okId!=1) + { + v_msg="Veuillez procéder à l\'identification avant !"; + v_msgEng="Please check identity before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + } + */ + + window.location.assign($("#racineWeb" ).val()+"Laboratoire/"); + } +} + + +function seancekine() +{ + if (prestation_possible()) + { + /* mis en commentaire le 28/11/2017 + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + } + else + { + finger_id = $("#finger_id_C" ).val(); + + if (finger_id==0) + { + v_msg="Veuillez procéder à l\'enrôlement avant !"; + v_msgEng="Please enroll before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + okId=$("#okId" ).val(); + + if (okId!=1) + { + v_msg="Veuillez procéder à l\'identification avant !"; + v_msgEng="Please check identity before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + } + */ + + window.location.assign($("#racineWeb" ).val()+"Kine/"); + } +} + +function afficher_facture_cons_lab(idFacture, numeroBonExamen, codePrestataireLivraison) +{ + if (idFacture>"") + { + donnees = 'idFacture='+idFacture+'&numeroBonExamen='+numeroBonExamen+'&codePrestataireLivraison='+codePrestataireLivraison; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfacturelab/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + consulter_facture_lab(); + } + }); + } +} + +function consulter_facture_lab() +{ + window.location.assign($("#racineWeb" ).val()+"Laboratoirecons/"); +} + +function consulter_limite_avant_facturation_lab_cons() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturelabcons/"); +} + +function afficher_facture_cons_lab_ben(idFacture, numeroBonExamen, codePrestataireLivraison) +{ + if (idFacture>"") + { + donnees = 'idFacture='+idFacture+'&numeroBonExamen='+numeroBonExamen+'&codePrestataireLivraison='+codePrestataireLivraison; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfacturelab/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + consulter_facture_lab_ben(); + } + }); + } +} + +function consulter_facture_lab_ben() +{ + window.location.assign($("#racineWeb" ).val()+"Laboratoireconsben/"); +} + +function consulter_limite_avant_facturation_lab_cons_ben() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturelabconsben/"); +} + +function listerdossiercons_lab() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + donnees_sav = donnees; + + $("#detail_reglement").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationlabentete/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#reglement").html(data); + }, + complete: function() { + } + }); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationlab/", + type : 'post', + data: donnees_sav, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#detail_reglement").html(data); + $("#detail_reglement").css("padding-top", "0px"); + }, + complete: function() { + } + }); +} + +function lister_factures_lab_ben() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationbenlab/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function consultationsea() +{ + window.location.assign($("#racineWeb" ).val()+"Consultationsea/"); +} + +function listerdossiercons_sea() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + donnees_sav = donnees; + + $("#detail_reglement").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationseaentete/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#reglement").html(data); + }, + complete: function() { + } + }); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsultationsea/", + type : 'post', + data: donnees_sav, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#detail_reglement").html(data); + $("#detail_reglement").css("padding-top", "0px"); + }, + complete: function() { + } + }); +} + +function consulter_facture_sea() +{ + window.location.assign($("#racineWeb" ).val()+"Kinecons/"); +} + +function consulter_limite_avant_facturation_sea_cons() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureseacons/"); +} + +function lister_factures_sea_ben() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + // url: $("#racineWeb").val()+"Ajaxconsultationbenlab/", + url: $("#racineWeb").val()+"Ajaxconsultationbensea/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function afficher_facture_cons_sea(idFacture, numeroBonKine, codePrestataireLivraison) +{ + if (idFacture>"") + { + donnees = 'idFacture='+idFacture+'&numeroBonKine='+numeroBonKine+'&codePrestataireLivraison='+codePrestataireLivraison; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfacturesea/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + consulter_facture_sea(); + } + }); + } +} + + +function afficher_facture_cons_sea_ben(idFacture, numeroBonKine, codePrestataireLivraison) +{ + if (idFacture>"") + { + donnees = 'idFacture='+idFacture+'&numeroBonKine='+numeroBonKine+'&codePrestataireLivraison='+codePrestataireLivraison; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextfacturesea/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + consulter_facture_sea_ben(); + } + }); + } +} + +function consulter_facture_sea_ben() +{ + window.location.assign($("#racineWeb" ).val()+"Kineconsben/"); +} + +function consulter_limite_avant_facturation_sea_cons_ben() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureseaconsben/"); +} + +function ctrlkeypress_numeroBon(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + $("#numeroBon").blur(); + } +} + +function verifier_feuille_maladie_dec_cons(numeroFeuilleMaladie, idFacture) +{ + $("#numeroFeuilleMaladie_C").val(numeroFeuilleMaladie); + numeroDecompte = $("#numeroDecompte").val(); + + // if (numeroFeuilleMaladie>"") + if (idFacture>"") + { + donnees = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&numeroDecompte='+numeroDecompte+'&idFacture='+idFacture; + + codeTypePrestataire = $("#codeTypePrestataire_C").val(); + + if(codeTypePrestataire=="CSO" || codeTypePrestataire=="LAB" || codeTypePrestataire=="SEA") + { + + verifier_feuille_maladie_dec_cso_cons(donnees); + } + else + if(codeTypePrestataire=="PHA") + { + verifier_feuille_maladie_dec_pha_cons(donnees); + } + else + if(codeTypePrestataire=="OPT") + { + verifier_feuille_maladie_dec_opt_cons(donnees); + } + } +} + + +function imprimerbordereaudecompte() +{ + idReglement = $("#idReglement").val(); + + + if (idReglement>"0") + { + var div_wait = $('#div_wait'); + div_wait.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaximprimerdemandereglement/imprimerbordereaudecompte", + type: 'POST', + success: function(data) + { + div_wait.html(data); + }, + error : function(resultat, statut, erreur) + { + alert(erreur); + }, + complete: function(data) + { + } + }); + } +} + +function verifier_feuille_maladie_dec_cso_cons(donnees) +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxverifierfacturecons/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_verification_facture").html(data); + }, + complete: function() { + $("#btn_pop").click(); + } + }); +} + +function verifier_feuille_maladie_dec_pha_cons(donnees) +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxverifierfacturephacons/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_verification_facture").html(data); + }, + complete: function() { + $("#btn_pop").click(); + } + }); +} + +function verifier_feuille_maladie_dec_opt_cons(donnees) +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxverifierfactureoptcons/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_verification_facture").html(data); + }, + complete: function() { + $("#btn_pop").click(); + } + }); +} + +function limite_avant_facture_dec(idFacture) +{ + donnees = 'idFacture='+idFacture; + $.ajax({ + url: $("#racineWeb").val()+"AjaxPlafondavantfacturecdec/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_limites").html(data); + }, + complete: function() { + } + }); +} + +function demander_decompte() +{ + window.location.assign($("#racineWeb" ).val()+"Initdemandedecompte/"); +} + +function initierdemandedecompte() +{ + codeExercice=$("#codeExercice").val(); + codeMois=$("#codeMois").val(); + + if (codeExercice<=" ") + { + v_msg="Veuillez sélectionner un exercice !"; + v_msgEng="Please select an exercise !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeExercice").focus(); + + return; + } + + if (codeMois<=" ") + { + v_msg="Veuillez sélectionner une période !"; + v_msgEng="Please select a period !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $(codeMois).focus(); + return; + } + + donnees = 'codeExercice='+codeExercice+'&codeMois='+codeMois; + + // $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdemandedecompte/initierdemandedecompte/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#inforegle").html(data); + }, + complete: function() { + regle=$("#regle").val(); + + if(regle==-1) + { + alert("Problème lors de l\'initialisation !"); + return; + } + else + { + afficher_demande_decompte(); + } + } + }); +} + +function afficher_demande_decompte() +{ + $("#detail_demande_decompte").html('
' + '' + '
'); + window.location.assign($("#racineWeb" ).val()+"Demandedecompte/"); +} + + +function imprimerbordereaudemandedecompte() +{ + idDemandeDecompte = $("#idDemandeDecompte").val(); + + if (idDemandeDecompte>"0") + { + var div_wait = $('#div_wait'); + div_wait.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaximprimerdemandedecompte/imprimerdemandecompte", + type: 'POST', + success: function(data) + { + div_wait.html(data); + }, + error : function(resultat, statut, erreur) + { + alert(erreur); + }, + complete: function(data) + { + } + }); + } +} + +function rechargerdemandedecompte() +{ + $("#detail_demande_decompte").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdemandedecompte/rechargerdemandedecompte/", + type : 'post', + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + afficher_demande_decompte(); + }, + complete: function() { + } + }); +} + +function actualiser_decompte() +{ + $("#div_detail").html('
' + '' + '
'); + + window.location.assign($("#racineWeb" ).val()+"Decomptecons/"); +} + +function monture() +{ + $("#monture").val("1"); + + if (prestation_possible()) + { + modeSaisieFacture=$("#modeSaisieFacture").val(); + if(modeSaisieFacture=="1") + { + $("#okId" ).val("1"); + window.location.assign($("#racineWeb" ).val()+"Monture/"); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + } + else + { + finger_id = $("#finger_id_C" ).val(); + + if (finger_id==0) + { + v_msg="Veuillez procéder à l\'enrôlement avant !"; + v_msgEng="Please enroll before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + okId=$("#okId" ).val(); + + if (okId!=1) + { + v_msg="Veuillez procéder à l\'identification avant !"; + v_msgEng="Please check identity before !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + } + + // alert("Monture Direct"); + // return; + + window.location.assign($("#racineWeb" ).val()+"Monture/"); + } +} + +function actualiser_monture() +{ + window.location.assign($("#racineWeb" ).val()+"Monture/"); +} + +function valider_monture() +{ + + ententePrealableMont=$("#ententePrealableMont").val(); + + // alert("ententePrealableMont : "+ententePrealableMont); + + nbActesMonture=$("#nbActesMonture").val(); + + if (nbActesMonture>0 && ententePrealableMont!=1) + { + v_msg="Montures déjà livrées une fois!"; + v_msgEng="Frames already delivered once!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + /* + alert("On peut facturer"); + return; + */ + + numeroFacture=$("#numeroFacture").val(); + + if (numeroFacture<=" ") + { + v_msg="Veuillez saisir le No de la facture !"; + v_msgEng="Please enter the Invoice No!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroFacture").focus(); + + return; + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cette livraison ?"; + v_msgEng="Do you confirm this delivery?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + modeSaisieFacture=$("#modeSaisieFacture").val(); + if(modeSaisieFacture=="1") + { + $("#okId" ).val("1"); + facturer_monture(); + return; + } + + derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val(); + if(derogation_finger_en_cours>0) + { + $("#okId" ).val("1"); + facturer_monture(); + } + else + { + beneficiaire = $("#beneficiaire_C").val(); + user_id =$("#user_id_C").val(); + finger_id =$("#finger_id_C").val(); + + $("#facturation").val("1"); + + data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&facturation=1"; + + load("flexcode/user.php?"+data); + } + } +} + +function maj_monture_temp_monture(idOptique, monture) +{ + numeroFacture=$("#numeroFacture").val(); + + donnees = 'idOptique='+idOptique+"&monture="+monture+"&numeroFacture="+numeroFacture; + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmonture/majmonture/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_monture").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + } + }); +} + +function facturer_monture() +{ + numeroFacture=$("#numeroFacture").val(); + + if (numeroFacture<=" ") + { + v_msg="Veuillez saisir le No de la facture !"; + v_msgEng="Please enter the Invoice No!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#numeroFacture").focus(); + + return; + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à facturer!"; + v_msgEng="Nothing to bill!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + montantTm = $("#montantTm").val(); + cout = $("#cout").val(); + + donnees = 'prixActe='+prixActe; + donnees += '&montantTm='+montantTm; + donnees += '&cout='+cout; + donnees += '&numeroFacture='+numeroFacture; + + + // numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val(); + codePrestataire = $("#codePrestataire_C").val(); + + donnees_sav = 'codePrestataire='+codePrestataire+'&typeMail=mailoptique'; + + typeSms = "facturer_opt"; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmonture/enregistrermonture/", + type: 'POST', + data: donnees, + success: function(data) { + // suspension provisoire Vivien 20/03/20118 + // preparesms(typeSms); + }, + error: function(data) { + // alert(data); + }, + complete: function() { + // mettremailattente(donnees_sav); + + window.location.assign($("#racineWeb" ).val()+"Fichebeneficiaire/"); + + v_msg="Facturation effectuée avec succès!"; + v_msgEng="Successful billing!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + }); +} + + +function requetes_prestaire() +{ + window.location.assign($("#racineWeb" ).val()+"Requetes/"); +} + +function ajaxenteterequete() +{ + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + donnees = 'codeRequete='+codeRequete; + + v_url = $("#racineWeb").val()+"Ajaxrequeteentete"+codeRequete+"/"; + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_ente_requete").html(data); + $(".datepicker" ).datepicker(); + } + }); +} + +function requetes_feuilles_maladie() +{ + $('#div_export_a').html(""); + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + dateConsultation1 = $("#dateConsultation1").val(); + dateConsultation2 = $("#dateConsultation2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + codeMedecin = $("#codeMedecin").val(); + + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val(); + numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val(); + + numeroBonHospitalisation1 = $("#numeroBonHospitalisation1").val(); + numeroBonHospitalisation2 = $("#numeroBonHospitalisation2").val(); + + numeroBonOptique1 = $("#numeroBonOptique1").val(); + numeroBonOptique2 = $("#numeroBonOptique2").val(); + + // Ligne 3 + codeTypePrestataire = $("#codeTypePrestataire").val(); + numeroDecompte1 = $("#numeroDecompte1").val(); + numeroDecompte2 = $("#numeroDecompte2").val(); + codeRaisonConsultation = $("#codeRaisonConsultation").val(); + hospitalisation = $("#hospitalisation").val(); + numeroChambre = $("#numeroChambre").val(); + chirurgie = $("#chirurgie").val(); + facture = $("#facture").val(); + + // Ligne 4 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1); + numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2); + + numeroBonOptique1 = convertir_en_entier(numeroBonOptique1); + numeroBonOptique2 = convertir_en_entier(numeroBonOptique2); + + numeroBonHospitalisation1 = convertir_en_entier(numeroBonHospitalisation1); + numeroBonHospitalisation2 = convertir_en_entier(numeroBonHospitalisation2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&dateConsultation1=' + dateConsultation1; + donnees += '&dateConsultation2=' + dateConsultation2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&codeMedecin=' + codeMedecin; + + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1; + donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2; + + donnees += '&numeroBonHospitalisation1=' + numeroBonHospitalisation1; + donnees += '&numeroBonHospitalisation2=' + numeroBonHospitalisation2; + + donnees += '&numeroBonOptique1=' + numeroBonOptique1; + donnees += '&numeroBonOptique2=' + numeroBonOptique2; + + // Ligne 3 + donnees += '&codeTypePrestataire=' + codeTypePrestataire; + + donnees += '&numeroDecompte1=' + numeroDecompte1; + donnees += '&numeroDecompte2=' + numeroDecompte2; + + donnees += '&codeRaisonConsultation=' + codeRaisonConsultation; + donnees += '&hospitalisation=' + hospitalisation; + donnees += '&numeroChambre=' + numeroChambre; + donnees += '&chirurgie=' + chirurgie; + donnees += '&facture=' + facture; + + // Ligne 4 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // alert(donnees); + // return; + + $("#div_detail_requete").html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + //$("#div_detail_requete").html(data); + }, + complete: function() { + $("#div_detail_requete").html(donnees_retour); + $("#nbligne").val("Result : "+$("#nbligne_info").val()); + } + }); +} + +function requetes_feuilles_maladie_export() +{ + $('#div_detail_requete').html(''); + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + dateConsultation1 = $("#dateConsultation1").val(); + dateConsultation2 = $("#dateConsultation2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + codeMedecin = $("#codeMedecin").val(); + + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val(); + numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val(); + + numeroBonHospitalisation1 = $("#numeroBonHospitalisation1").val(); + numeroBonHospitalisation2 = $("#numeroBonHospitalisation2").val(); + + numeroBonOptique1 = $("#numeroBonOptique1").val(); + numeroBonOptique2 = $("#numeroBonOptique2").val(); + + // Ligne 3 + codeTypePrestataire = $("#codeTypePrestataire").val(); + numeroDecompte1 = $("#numeroDecompte1").val(); + numeroDecompte2 = $("#numeroDecompte2").val(); + codeRaisonConsultation = $("#codeRaisonConsultation").val(); + hospitalisation = $("#hospitalisation").val(); + numeroChambre = $("#numeroChambre").val(); + chirurgie = $("#chirurgie").val(); + facture = $("#facture").val(); + + // Ligne 4 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1); + numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2); + + numeroBonOptique1 = convertir_en_entier(numeroBonOptique1); + numeroBonOptique2 = convertir_en_entier(numeroBonOptique2); + + numeroBonHospitalisation1 = convertir_en_entier(numeroBonHospitalisation1); + numeroBonHospitalisation2 = convertir_en_entier(numeroBonHospitalisation2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&dateConsultation1=' + dateConsultation1; + donnees += '&dateConsultation2=' + dateConsultation2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&codeMedecin=' + codeMedecin; + + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1; + donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2; + + donnees += '&numeroBonHospitalisation1=' + numeroBonHospitalisation1; + donnees += '&numeroBonHospitalisation2=' + numeroBonHospitalisation2; + + donnees += '&numeroBonOptique1=' + numeroBonOptique1; + donnees += '&numeroBonOptique2=' + numeroBonOptique2; + + // Ligne 3 + donnees += '&codeTypePrestataire=' + codeTypePrestataire; + + donnees += '&numeroDecompte1=' + numeroDecompte1; + donnees += '&numeroDecompte2=' + numeroDecompte2; + + donnees += '&codeRaisonConsultation=' + codeRaisonConsultation; + donnees += '&hospitalisation=' + hospitalisation; + donnees += '&numeroChambre=' + numeroChambre; + donnees += '&chirurgie=' + chirurgie; + donnees += '&facture=' + facture; + + // Ligne 4 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + var div_export = $('#div_detail_requete'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + // $('#div_detail_requete').html(""); + // $('#div_export_a').html(data); + }, + complete: function() { + $('#div_detail_requete').html(""); + $('#div_export_a').html(donnees_retour); + } + }); +} + + +function selectionner_medecin_requete(codeMedecin, nomMedecin, noOrdreMedecin) +{ + $("#codeMedecin").val(codeMedecin); + $("#nomMedecin").html(nomMedecin+" ( "+noOrdreMedecin+" )"); + $("#close_pop").click(); +} + +function afficher_pop_recherche_medecin_requete() +{ + + noOrdreMedecin = $("#noOrdreMedecin").val(); + nomsearch = $("#nomsearch").val(); + + if(noOrdreMedecin+nomsearch<=" ") + return; + + donnees = "valid=1&noOrdreMedecin="+noOrdreMedecin+"&nomsearch="+nomsearch; + + $("#div_listemedecins").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistemedecinsrequete/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_listemedecins").html(data); + } + }); +} + +function ctrlkeypress_medecin_requete(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_medecin_requete(); + } +} + +function reinitialiser_medecin() +{ + $("#codeMedecin").val(""); + $("#nomMedecin").html("Rechercher Médecin..."); + $("#close_pop").click(); +} + +function requetes_factures() +{ + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + dateFacture1 = $("#dateFacture1").val(); + dateFacture2 = $("#dateFacture2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val(); + numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val(); + + numeroBonHospitalisation1 = $("#numeroBonHospitalisation1").val(); + numeroBonHospitalisation2 = $("#numeroBonHospitalisation2").val(); + + numeroBonOptique1 = $("#numeroBonOptique1").val(); + numeroBonOptique2 = $("#numeroBonOptique2").val(); + + // Ligne 3 + codeTypePrestataire = $("#codeTypePrestataire").val(); + numeroDecompte1 = $("#numeroDecompte1").val(); + numeroDecompte2 = $("#numeroDecompte2").val(); + hospitalisation = $("#hospitalisation").val(); + numeroChambre = $("#numeroChambre").val(); + chirurgie = $("#chirurgie").val(); + + // Ligne 4 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1); + numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2); + + numeroBonOptique1 = convertir_en_entier(numeroBonOptique1); + numeroBonOptique2 = convertir_en_entier(numeroBonOptique2); + + numeroBonHospitalisation1 = convertir_en_entier(numeroBonHospitalisation1); + numeroBonHospitalisation2 = convertir_en_entier(numeroBonHospitalisation2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&dateFacture1=' + dateFacture1; + donnees += '&dateFacture2=' + dateFacture2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1; + donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2; + + donnees += '&numeroBonHospitalisation1=' + numeroBonHospitalisation1; + donnees += '&numeroBonHospitalisation2=' + numeroBonHospitalisation2; + + donnees += '&numeroBonOptique1=' + numeroBonOptique1; + donnees += '&numeroBonOptique2=' + numeroBonOptique2; + + // Ligne 3 + donnees += '&codeTypePrestataire=' + codeTypePrestataire; + + donnees += '&numeroDecompte1=' + numeroDecompte1; + donnees += '&numeroDecompte2=' + numeroDecompte2; + + donnees += '&hospitalisation=' + hospitalisation; + donnees += '&numeroChambre=' + numeroChambre; + donnees += '&chirurgie=' + chirurgie; + + // Ligne 4 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // alert(donnees); + // return; + + $("#div_detail_requete").html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + //$("#div_detail_requete").html(data); + }, + complete: function() { + $("#div_detail_requete").html(donnees_retour); + $("#nbligne").val("Result : "+$("#nbligne_info").val()); + } + }); +} + + +function requetes_factures_export() +{ + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + dateFacture1 = $("#dateFacture1").val(); + dateFacture2 = $("#dateFacture2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val(); + numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val(); + + numeroBonHospitalisation1 = $("#numeroBonHospitalisation1").val(); + numeroBonHospitalisation2 = $("#numeroBonHospitalisation2").val(); + + numeroBonOptique1 = $("#numeroBonOptique1").val(); + numeroBonOptique2 = $("#numeroBonOptique2").val(); + + // Ligne 3 + codeTypePrestataire = $("#codeTypePrestataire").val(); + numeroDecompte1 = $("#numeroDecompte1").val(); + numeroDecompte2 = $("#numeroDecompte2").val(); + hospitalisation = $("#hospitalisation").val(); + numeroChambre = $("#numeroChambre").val(); + chirurgie = $("#chirurgie").val(); + + // Ligne 4 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1); + numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2); + + numeroBonOptique1 = convertir_en_entier(numeroBonOptique1); + numeroBonOptique2 = convertir_en_entier(numeroBonOptique2); + + numeroBonHospitalisation1 = convertir_en_entier(numeroBonHospitalisation1); + numeroBonHospitalisation2 = convertir_en_entier(numeroBonHospitalisation2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&dateFacture1=' + dateFacture1; + donnees += '&dateFacture2=' + dateFacture2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1; + donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2; + + donnees += '&numeroBonHospitalisation1=' + numeroBonHospitalisation1; + donnees += '&numeroBonHospitalisation2=' + numeroBonHospitalisation2; + + donnees += '&numeroBonOptique1=' + numeroBonOptique1; + donnees += '&numeroBonOptique2=' + numeroBonOptique2; + + // Ligne 3 + donnees += '&codeTypePrestataire=' + codeTypePrestataire; + + donnees += '&numeroDecompte1=' + numeroDecompte1; + donnees += '&numeroDecompte2=' + numeroDecompte2; + + donnees += '&hospitalisation=' + hospitalisation; + donnees += '&numeroChambre=' + numeroChambre; + donnees += '&chirurgie=' + chirurgie; + + // Ligne 4 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // alert(donnees); + // return; + + var div_export = $('#div_detail_requete'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + // $('#div_detail_requete').html(""); + // $('#div_export_a').html(data); + }, + complete: function() { + $('#div_detail_requete').html(""); + $('#div_export_a').html(donnees_retour); + } + }); +} + +function requetes_bonpoec() +{ + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + codeTypeBon = $("#codeTypeBon").val(); + codeEtatBon = $("#codeEtatBon").val(); + + // Ligne 2 + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + numeroBon1 = $("#numeroBon1").val(); + numeroBon2 = $("#numeroBon2").val(); + + // Ligne 4 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBon1 = convertir_en_entier(numeroBon1); + numeroBon2 = convertir_en_entier(numeroBon2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&codeTypeBon=' + codeTypeBon; + donnees += '&codeEtatBon=' + codeEtatBon; + + // Ligne 2 + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + donnees += '&numeroBon1=' + numeroBon1; + donnees += '&numeroBon2=' + numeroBon2; + + // Ligne 4 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + $("#div_detail_requete").html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + //$("#div_detail_requete").html(data); + }, + complete: function() { + $("#div_detail_requete").html(donnees_retour); + $("#nbligne").val("Result : "+$("#nbligne_info").val()); + } + }); +} + +function requetes_bonpoec_export() +{ + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + codeTypeBon = $("#codeTypeBon").val(); + codeEtatBon = $("#codeEtatBon").val(); + + // Ligne 2 + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + numeroBon1 = $("#numeroBon1").val(); + numeroBon2 = $("#numeroBon2").val(); + + // Ligne 3 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBon1 = convertir_en_entier(numeroBon1); + numeroBon2 = convertir_en_entier(numeroBon2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&codeTypeBon=' + codeTypeBon; + donnees += '&codeEtatBon=' + codeEtatBon; + + // Ligne 2 + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + donnees += '&numeroBon1=' + numeroBon1; + donnees += '&numeroBon2=' + numeroBon2; + + // Ligne 3 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // alert(donnees); + // alert(v_url+" / "+codeRequete); + // return; + + var div_export = $('#div_detail_requete'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + // $('#div_detail_requete').html(""); + // $('#div_export_a').html(data); + }, + complete: function() { + $('#div_detail_requete').html(""); + $('#div_export_a').html(donnees_retour); + } + }); +} + + +function requetes_prestationactes() +{ + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + datePrestation1 = $("#datePrestation1").val(); + datePrestation2 = $("#datePrestation2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + codeMedecin = $("#codeMedecin").val(); + + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val(); + numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val(); + + numeroBonHospitalisation1 = $("#numeroBonHospitalisation1").val(); + numeroBonHospitalisation2 = $("#numeroBonHospitalisation2").val(); + + numeroBonOptique1 = $("#numeroBonOptique1").val(); + numeroBonOptique2 = $("#numeroBonOptique2").val(); + + // Ligne 3 + codeTypePrestataire = $("#codeTypePrestataire").val(); + numeroFeuilleMaladie1 = $("#numeroFeuilleMaladie1").val(); + numeroFeuilleMaladie2 = $("#numeroFeuilleMaladie2").val(); + codeTypePrestation = $("#codeTypePrestation").val(); + ententePrealable = $("#ententePrealable").val(); + numeroChambre = $("#numeroChambre").val(); + facture = $("#facture").val(); + + // Ligne 4 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // Ligne 5 + libelleActe = $("#libelleActe").val(); + libelleFamilleActe = $("#libelleFamilleActe").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1); + numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2); + + numeroBonOptique1 = convertir_en_entier(numeroBonOptique1); + numeroBonOptique2 = convertir_en_entier(numeroBonOptique2); + + numeroBonHospitalisation1 = convertir_en_entier(numeroBonHospitalisation1); + numeroBonHospitalisation2 = convertir_en_entier(numeroBonHospitalisation2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&datePrestation1=' + datePrestation1; + donnees += '&datePrestation2=' + datePrestation2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&codeMedecin=' + codeMedecin; + + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1; + donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2; + + donnees += '&numeroBonHospitalisation1=' + numeroBonHospitalisation1; + donnees += '&numeroBonHospitalisation2=' + numeroBonHospitalisation2; + + donnees += '&numeroBonOptique1=' + numeroBonOptique1; + donnees += '&numeroBonOptique2=' + numeroBonOptique2; + + // Ligne 3 + donnees += '&codeTypePrestataire=' + codeTypePrestataire; + + donnees += '&numeroFeuilleMaladie1=' + numeroFeuilleMaladie1; + donnees += '&numeroFeuilleMaladie2=' + numeroFeuilleMaladie2; + + donnees += '&codeTypePrestation=' + codeTypePrestation; + donnees += '&ententePrealable=' + ententePrealable; + donnees += '&numeroChambre=' + numeroChambre; + donnees += '&facture=' + facture; + + // Ligne 4 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // Ligne 5 + donnees += '&libelleActe=' + libelleActe; + donnees += '&libelleFamilleActe=' + libelleFamilleActe; + + // alert(donnees); + // return; + + $("#div_detail_requete").html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + //$("#div_detail_requete").html(data); + }, + complete: function() { + $("#div_detail_requete").html(donnees_retour); + $("#nbligne").val("Result : "+$("#nbligne_info").val()); + } + }); +} + +function requetes_prestationactes_export() +{ + $('#div_detail_requete').html(''); + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + datePrestation1 = $("#datePrestation1").val(); + datePrestation2 = $("#datePrestation2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + codeMedecin = $("#codeMedecin").val(); + + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val(); + numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val(); + + numeroBonHospitalisation1 = $("#numeroBonHospitalisation1").val(); + numeroBonHospitalisation2 = $("#numeroBonHospitalisation2").val(); + + numeroBonOptique1 = $("#numeroBonOptique1").val(); + numeroBonOptique2 = $("#numeroBonOptique2").val(); + + // Ligne 3 + codeTypePrestataire = $("#codeTypePrestataire").val(); + numeroFeuilleMaladie1 = $("#numeroFeuilleMaladie1").val(); + numeroFeuilleMaladie2 = $("#numeroFeuilleMaladie2").val(); + codeTypePrestation = $("#codeTypePrestation").val(); + ententePrealable = $("#ententePrealable").val(); + numeroChambre = $("#numeroChambre").val(); + facture = $("#facture").val(); + + // Ligne 4 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // Ligne 5 + libelleActe = $("#libelleActe").val(); + libelleFamilleActe = $("#libelleFamilleActe").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1); + numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2); + + numeroBonOptique1 = convertir_en_entier(numeroBonOptique1); + numeroBonOptique2 = convertir_en_entier(numeroBonOptique2); + + numeroBonHospitalisation1 = convertir_en_entier(numeroBonHospitalisation1); + numeroBonHospitalisation2 = convertir_en_entier(numeroBonHospitalisation2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&datePrestation1=' + datePrestation1; + donnees += '&datePrestation2=' + datePrestation2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&codeMedecin=' + codeMedecin; + + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1; + donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2; + + donnees += '&numeroBonHospitalisation1=' + numeroBonHospitalisation1; + donnees += '&numeroBonHospitalisation2=' + numeroBonHospitalisation2; + + donnees += '&numeroBonOptique1=' + numeroBonOptique1; + donnees += '&numeroBonOptique2=' + numeroBonOptique2; + + // Ligne 3 + donnees += '&codeTypePrestataire=' + codeTypePrestataire; + + donnees += '&numeroFeuilleMaladie1=' + numeroFeuilleMaladie1; + donnees += '&numeroFeuilleMaladie2=' + numeroFeuilleMaladie2; + + donnees += '&codeTypePrestation=' + codeTypePrestation; + donnees += '&ententePrealable=' + ententePrealable; + donnees += '&numeroChambre=' + numeroChambre; + donnees += '&facture=' + facture; + + // Ligne 4 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // Ligne 5 + donnees += '&libelleActe=' + libelleActe; + donnees += '&libelleFamilleActe=' + libelleFamilleActe; + + var div_export = $('#div_detail_requete'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + // $('#div_detail_requete').html(""); + // $('#div_export_a').html(data); + }, + complete: function() { + $('#div_detail_requete').html(""); + $('#div_export_a').html(donnees_retour); + } + }); +} + +function requetes_pharmacie() +{ + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + dateLivraison1 = $("#dateLivraison1").val(); + dateLivraison2 = $("#dateLivraison2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + codeMedecin = $("#codeMedecin").val(); + + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val(); + numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val(); + + numeroFeuilleMaladie1 = $("#numeroFeuilleMaladie1").val(); + numeroFeuilleMaladie2 = $("#numeroFeuilleMaladie2").val(); + + codePrestatairePrescription = $("#codePrestatairePrescription").val(); + + // Ligne 3 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // Ligne 4 + libelleMedicament = $("#libelleMedicament").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1); + numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2); + + numeroFeuilleMaladie1 = convertir_en_entier(numeroFeuilleMaladie1); + numeroFeuilleMaladie2 = convertir_en_entier(numeroFeuilleMaladie2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&dateLivraison1=' + dateLivraison1; + donnees += '&dateLivraison2=' + dateLivraison2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&codeMedecin=' + codeMedecin; + + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1; + donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2; + + donnees += '&numeroFeuilleMaladie1=' + numeroFeuilleMaladie1; + donnees += '&numeroFeuilleMaladie2=' + numeroFeuilleMaladie2; + + donnees += '&codePrestatairePrescription=' + codePrestatairePrescription; + + // Ligne 3 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // Ligne 4 + donnees += '&libelleMedicament=' + libelleMedicament; + + // alert(donnees); + // return; + + $("#div_detail_requete").html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + //$("#div_detail_requete").html(data); + }, + complete: function() { + $("#div_detail_requete").html(donnees_retour); + $("#nbligne").val("Result : "+$("#nbligne_info").val()); + } + }); +} + +function requetes_pharmacie_export() +{ + $('#div_detail_requete').html(''); + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + dateLivraison1 = $("#dateLivraison1").val(); + dateLivraison2 = $("#dateLivraison2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + codeMedecin = $("#codeMedecin").val(); + + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val(); + numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val(); + + numeroFeuilleMaladie1 = $("#numeroFeuilleMaladie1").val(); + numeroFeuilleMaladie2 = $("#numeroFeuilleMaladie2").val(); + + codePrestatairePrescription = $("#codePrestatairePrescription").val(); + + // Ligne 3 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // Ligne 4 + libelleMedicament = $("#libelleMedicament").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1); + numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2); + + numeroFeuilleMaladie1 = convertir_en_entier(numeroFeuilleMaladie1); + numeroFeuilleMaladie2 = convertir_en_entier(numeroFeuilleMaladie2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&dateLivraison1=' + dateLivraison1; + donnees += '&dateLivraison2=' + dateLivraison2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&codeMedecin=' + codeMedecin; + + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1; + donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2; + + donnees += '&numeroFeuilleMaladie1=' + numeroFeuilleMaladie1; + donnees += '&numeroFeuilleMaladie2=' + numeroFeuilleMaladie2; + + donnees += '&codePrestatairePrescription=' + codePrestatairePrescription; + + // Ligne 3 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // Ligne 4 + donnees += '&libelleMedicament=' + libelleMedicament; + + var div_export = $('#div_detail_requete'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + // $('#div_detail_requete').html(""); + // $('#div_export_a').html(data); + }, + complete: function() { + $('#div_detail_requete').html(""); + $('#div_export_a').html(donnees_retour); + } + }); +} + +function requetes_optique() +{ + $('#div_export').html(""); + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + dateLivraison1 = $("#dateLivraison1").val(); + dateLivraison2 = $("#dateLivraison2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + codeMedecin = $("#codeMedecin").val(); + + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOptique1 = $("#numeroBonOptique1").val(); + numeroBonOptique2 = $("#numeroBonOptique2").val(); + + numeroFeuilleMaladie1 = $("#numeroFeuilleMaladie1").val(); + numeroFeuilleMaladie2 = $("#numeroFeuilleMaladie2").val(); + + + codePrestatairePrescription = $("#codePrestatairePrescription").val(); + + // Ligne 3 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // Ligne 4 + libelleOptique = $("#libelleOptique").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOptique1 = convertir_en_entier(numeroBonOptique1); + numeroBonOptique2 = convertir_en_entier(numeroBonOptique2); + + numeroFeuilleMaladie1 = convertir_en_entier(numeroFeuilleMaladie1); + numeroFeuilleMaladie2 = convertir_en_entier(numeroFeuilleMaladie2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&dateLivraison1=' + dateLivraison1; + donnees += '&dateLivraison2=' + dateLivraison2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&codeMedecin=' + codeMedecin; + + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOptique1=' + numeroBonOptique1; + donnees += '&numeroBonOptique2=' + numeroBonOptique2; + + donnees += '&numeroFeuilleMaladie1=' + numeroFeuilleMaladie1; + donnees += '&numeroFeuilleMaladie2=' + numeroFeuilleMaladie2; + + donnees += '&codePrestatairePrescription=' + codePrestatairePrescription; + + // Ligne 3 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // Ligne 4 + donnees += '&libelleOptique=' + libelleOptique; + + // alert(donnees); + // return; + + $("#div_detail_requete").html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + //$("#div_detail_requete").html(data); + }, + complete: function() { + $("#div_detail_requete").html(donnees_retour); + $("#nbligne").val("Result : "+$("#nbligne_info").val()); + } + }); +} + +function requetes_optique_export() +{ + $('#div_detail_requete').html(''); + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/"; + + // Ligne 1 + codePrestataire = $("#codePrestataire").val(); + dateLivraison1 = $("#dateLivraison1").val(); + dateLivraison2 = $("#dateLivraison2").val(); + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + // Ligne 2 + codeMedecin = $("#codeMedecin").val(); + + numeroBonConsultation1 = $("#numeroBonConsultation1").val(); + numeroBonConsultation2 = $("#numeroBonConsultation2").val(); + + numeroBonOptique1 = $("#numeroBonOptique1").val(); + numeroBonOptique2 = $("#numeroBonOptique2").val(); + + numeroFeuilleMaladie1 = $("#numeroFeuilleMaladie1").val(); + numeroFeuilleMaladie2 = $("#numeroFeuilleMaladie2").val(); + + codePrestatairePrescription = $("#codePrestatairePrescription").val(); + + // Ligne 3 + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // Ligne 4 + libelleOptique = $("#libelleOptique").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1); + numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2); + + numeroBonOptique1 = convertir_en_entier(numeroBonOptique1); + numeroBonOptique2 = convertir_en_entier(numeroBonOptique2); + + numeroFeuilleMaladie1 = convertir_en_entier(numeroFeuilleMaladie1); + numeroFeuilleMaladie2 = convertir_en_entier(numeroFeuilleMaladie2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += 'codePrestataire=' + codePrestataire; + donnees += '&dateLivraison1=' + dateLivraison1; + donnees += '&dateLivraison2=' + dateLivraison2; + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + + // Ligne 2 + donnees += '&codeMedecin=' + codeMedecin; + + donnees += '&numeroBonConsultation1=' + numeroBonConsultation1; + donnees += '&numeroBonConsultation2=' + numeroBonConsultation2; + + donnees += '&numeroBonOptique1=' + numeroBonOptique1; + donnees += '&numeroBonOptique2=' + numeroBonOptique2; + + donnees += '&numeroFeuilleMaladie1=' + numeroFeuilleMaladie1; + donnees += '&numeroFeuilleMaladie2=' + numeroFeuilleMaladie2; + + donnees += '&codePrestatairePrescription=' + codePrestatairePrescription; + + // Ligne 3 + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // Ligne 4 + donnees += '&libelleOptique=' + libelleOptique; + + var div_export = $('#div_detail_requete'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + // $('#div_detail_requete').html(""); + // $('#div_export_a').html(data); + }, + complete: function() { + $('#div_detail_requete').html(""); + $('#div_export_a').html(donnees_retour); + } + }); +} + + +function requetes_assure() +{ + $('#div_export').html(""); + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/"; + + // Ligne 1 + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // Ligne 2 + numeroPolice = $("#numeroPolice").val(); + codeProduit = $("#codeProduit").val(); + codeEtatPolice = $("#codeEtatPolice").val(); + codeLienParente = $("#codeLienParente").val(); + codeEtatBeneficiaire = $("#codeEtatBeneficiaire").val(); + sexe = $("#sexe").val(); + + // Ligne 3 + numeroClient1 = $("#numeroClient1").val(); + numeroClient2 = $("#numeroClient2").val(); + telephonePortableAdherent = $("#telephonePortableAdherent").val(); + emailAdherent = $("#emailAdherent").val(); + decede = $("#decede").val(); + nomClient = $("#nomClient").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroClient1 = convertir_en_entier(numeroClient1); + numeroClient2 = convertir_en_entier(numeroClient2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // Ligne 2 + donnees += '&numeroPolice=' + numeroPolice; + donnees += '&codeProduit=' + codeProduit; + donnees += '&codeEtatPolice=' + codeEtatPolice; + donnees += '&codeLienParente=' + codeLienParente; + donnees += '&codeEtatBeneficiaire=' + codeEtatBeneficiaire; + donnees += '&sexe=' + sexe; + + // Ligne 3 + donnees += '&numeroClient1=' + numeroClient1; + donnees += '&numeroClient2=' + numeroClient2; + donnees += '&telephonePortableAdherent=' + telephonePortableAdherent; + donnees += '&emailAdherent=' + emailAdherent; + donnees += '&decede=' + decede; + donnees += '&nomClient=' + nomClient; + + // alert(donnees); + // return; + + $("#div_detail_requete").html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + //$("#div_detail_requete").html(data); + }, + complete: function() { + $("#div_detail_requete").html(donnees_retour); + $("#nbligne").val("Result : "+$("#nbligne_info").val()); + } + }); +} + +function requetes_assure_export() +{ + $('#div_detail_requete').html(''); + $('#div_export_a').html(""); + + donnees = ""; + donnees_retour = ""; + + codeRequete=$("#codeRequete").val(); + + if (codeRequete<=" ") + { + v_msg="Veuillez sélectionner une requête !"; + v_msg +="\n"; + alert(v_msg); + $(codeRequete).focus(); + return; + } + + v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/"; + + // Ligne 1 + numeroAdherent = $("#numeroAdherent").val(); + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + adherent = $("#adherent").val(); + beneficiaire = $("#beneficiaire").val(); + + // Ligne 2 + numeroPolice = $("#numeroPolice").val(); + codeProduit = $("#codeProduit").val(); + codeEtatPolice = $("#codeEtatPolice").val(); + codeLienParente = $("#codeLienParente").val(); + codeEtatBeneficiaire = $("#codeEtatBeneficiaire").val(); + sexe = $("#sexe").val(); + + // Ligne 3 + numeroClient1 = $("#numeroClient1").val(); + numeroClient2 = $("#numeroClient2").val(); + telephonePortableAdherent = $("#telephonePortableAdherent").val(); + emailAdherent = $("#emailAdherent").val(); + decede = $("#decede").val(); + nomClient = $("#nomClient").val(); + + // FIN champs + + // DEBUT convertir_en_entier + numeroClient1 = convertir_en_entier(numeroClient1); + numeroClient2 = convertir_en_entier(numeroClient2); + // FIN convertir_en_entier + + // Ligne 1 + donnees += '&numeroAdherent=' + numeroAdherent; + donnees += '&numeroBeneficiaire=' + numeroBeneficiaire; + donnees += '&adherent=' + adherent; + donnees += '&beneficiaire=' + beneficiaire; + + // Ligne 2 + donnees += '&numeroPolice=' + numeroPolice; + donnees += '&codeProduit=' + codeProduit; + donnees += '&codeEtatPolice=' + codeEtatPolice; + donnees += '&codeLienParente=' + codeLienParente; + donnees += '&codeEtatBeneficiaire=' + codeEtatBeneficiaire; + donnees += '&sexe=' + sexe; + + // Ligne 3 + donnees += '&numeroClient1=' + numeroClient1; + donnees += '&numeroClient2=' + numeroClient2; + donnees += '&telephonePortableAdherent=' + telephonePortableAdherent; + donnees += '&emailAdherent=' + emailAdherent; + donnees += '&decede=' + decede; + donnees += '&nomClient=' + nomClient; + + var div_export = $('#div_detail_requete'); + div_export.html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + // $('#div_detail_requete').html(""); + // $('#div_export_a').html(data); + }, + complete: function() { + $('#div_detail_requete').html(""); + $('#div_export_a').html(donnees_retour); + } + }); +} + +function convertir_en_entier(valeur) +{ + if(isNaN(valeur)) + { + valeur = "0"; + } + + if (valeur=="") + { + valeur="0"; + } + + valeur = parseInt(valeur); + + return valeur; +} + +function selectionactesmedicaux() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Selectactesmedicaux/"); +} + +function ajaxactespossibles_selection() +{ + codeFamilleActe=$("#codeFamilleActe").val(); + + donnees = 'codeFamilleActe='+codeFamilleActe; + + $("#listeacte").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxactespossiblesselection/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listeacte").html(data); + }, + complete: function() { + } + }); +} + +function ajouter_un_acte_selection(codeActe, prixActe, montantTm, aRembourser, ententePrealable) +{ + donnee_a_affciher = ""; + + codeFamilleActe=$("#codeFamilleActe").val(); + + donnees="" + donnees_sav=""; + + codeMedecin = $("#codeMedecin").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#nomMedecin").focus(); + return; + } + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + if(prixActe==0) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cet acte ?"; + v_msgEng="Do you confirm this act ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + // if (confirm(v_msg)) + // { + if(ententePrealable==1) + { + ententePrealable = "2"; + } + + donnees = 'codeFamilleActe='+codeFamilleActe+'&codeActe='+codeActe+'&codeMedecin='+codeMedecin+'&ententePrealable='+ententePrealable; + donnees += '&prixActe='+prixActe+'&montantTm='+montantTm+'&aRembourser='+aRembourser; + + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val(); + + donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable'; + // donnees_sav2 = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailautorisation'; + + typeSms="ententeprealable"; + // typeSms2="autorisation"; + + // alert(donnees); + + $("#listeacte").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxselectactesmedicaux/enregistreractemedical/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + maj_fraisexclu_cso(); + + if(ententePrealable=="2") + { + preparesms(typeSms); + + v_msg="Demande accord prealable envoyée !"; + v_msgEng="Request prior agreement sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + donnee_a_affciher = data; + }, + complete: function() { + if(ententePrealable=="2") + { + mettremailattente(donnees_sav); + } + $("#totam_donnees").html(donnee_a_affciher); + } + }); + // } +} + +function supprimer_acte_medical_selection(idPrestationactes, codeTypePrestation) +{ + donnee_a_affciher = ""; + + /* + v_msg="Confirmez-vous la suppression de cet acte ?"; + v_msgEng="Do you confirm the removal of this act ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + */ + codeFamilleActe=$("#codeFamilleActe").val(); + + donnees = 'codeFamilleActe='+codeFamilleActe+'&idPrestationactes='+idPrestationactes+'&codeTypePrestation='+codeTypePrestation; + + // alert(donnees); + // return; + + $("#listeacte").html('
' + '' + '
'); + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxselectactesmedicaux/supprimeracte/", + type: 'POST', + data: donnees, + success: function(data) { + donnee_a_affciher = data; + // maj_fraisexclu_cso(); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + $("#totam_donnees").html(donnee_a_affciher); + } + }); + // } +} + +function valider_selection_acte() +{ + v_msg="Confirmez-vous cette saisie?"; + v_msgEng="Do you confirm this situation ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + feuillemaladie(); + } +} + + +function ajax_maj_qte_acte(idPrestationactes, quantite, controle) +{ + quantite=quantite.replace(",","."); + controle.value=quantite; + + if(controle_numerique(controle)) + { + if(quantite==0) + { + controle.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idPrestationactes='+idPrestationactes+"&quantite="+quantite; + + // alert(donnees); + // return; + + donnee_a_affciher = ""; + + donnees = 'idPrestationactes='+idPrestationactes+"&quantite="+quantite;; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxactesmedicauxselect/majquantite/", + type: 'POST', + data: donnees, + success: function(data) { + donnee_a_affciher = data; + }, + error: function(data) { + //alert(data); + }, + complete: function() { + $("#div_prestations").html(donnee_a_affciher); + controle.focus(); + } + }); + } +} + + +function selectionner_acte_possibles_select(codeFamilleActe, codeActe, familleActe, libelleActe) +{ + if(libelleActe<=" ") + return; + + $("#codeFamilleActe").val(codeFamilleActe); + $("#libelleActe").val(libelleActe); + + ajaxactespossibles_selection(); + + $("#close_pop_acte").click(); +} + +function afficher_pop_recherche_actes_possibles_select() +{ + libelleActeSearch = $("#libelleActeSearch").val(); + + if(libelleActeSearch<=" ") + { + return; + } + + donnees = "valid=1&libelleActeSearch="+libelleActeSearch; + + $("#div_liste_actes_possibles").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteactespossiblesselect/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_liste_actes_possibles").html(data); + } + }); +} + +function ctrlkeypress_actes_possibles_select(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_actes_possibles_select(); + } +} + +function selectionexamens() +{ + window.location.assign($("#racineWeb" ).val()+"Selectexaemens/"); +} + +function ajaxexamenpossibles_selection() +{ + codeFamilleActe=$("#codeFamilleActe").val(); + + donnees = 'codeFamilleActe='+codeFamilleActe; + + $("#listeacte").html('
' + '' + '
'); + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxexamenspossiblesselection/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listeacte").html(data); + }, + complete: function() { + } + }); +} + +function ajouter_un_examen_selection(codeActe, prixActe, montantTm, aRembourser, ententePrealable) +{ + donnee_a_affciher = ""; + + codeFamilleActe=$("#codeFamilleActe").val(); + + donnees="" + donnees_sav=""; + + if (codeActe<=" ") + { + v_msg="Veuillez sélectionner un acte !"; + v_msgEng="Please select an act!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + if(prixActe==0) + { + v_msg="Veuillez revoir le tarif !"; + v_msgEng="Please review rate !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + if(ententePrealable==1) + { + ententePrealable = "2"; + } + + donnees = 'codeFamilleActe='+codeFamilleActe+'&codeActe='+codeActe+'&ententePrealable='+ententePrealable; + donnees += '&prixActe='+prixActe+'&montantTm='+montantTm+'&aRembourser='+aRembourser; + + numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val(); + + donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable'; + + typeSms="ententeprealable"; + + // alert(donnees); + // return; + + $("#listeacte").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxselectexamens/ajouterexamenprescription/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // maj_fraisexclu_cso(); + + if(ententePrealable=="2") + { + preparesms(typeSms); + + v_msg="Demande accord prealable envoyée !"; + v_msgEng="Request prior agreement sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + } + donnee_a_affciher = data; + }, + complete: function() { + if(ententePrealable=="2") + { + mettremailattente(donnees_sav); + } + $("#totam_donnees").html(donnee_a_affciher); + } + }); +} + +function retirerexamen_lab_selection(idExamen) +{ + + donnee_a_affciher = ""; + + codeFamilleActe=$("#codeFamilleActe").val(); + + donnees = 'codeFamilleActe='+codeFamilleActe+'&idExamen='+idExamen; + + $("#listeacte").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxselectexamens/retirerexamen/", + type: 'POST', + data: donnees, + success: function(data) { + donnee_a_affciher = data; + alerter_depassement_limite(); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + $("#totam_donnees").html(donnee_a_affciher); + } + }); +} + +function valider_selection_examen() +{ + v_msg="Confirmez-vous cette saisie?"; + v_msgEng="Do you confirm this situation ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + afficher_laboratoire_cso(); + } +} + +function selectionexamens_lab() +{ + window.location.assign($("#racineWeb" ).val()+"Selectexaemenslab/"); +} + +function valider_selection_examen_lab() +{ + v_msg="Confirmez-vous cette saisie?"; + v_msgEng="Do you confirm this situation ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + actualiser_laboratoire(); + } +} + +function afficher_examensmedicaux() +{ + window.location.assign($("#racineWeb" ).val()+"Examensmedicaux/"); +} + +function selectionexamens_cso() +{ + window.location.assign($("#racineWeb" ).val()+"Selectexaemenscso/"); +} + +function valider_selection_examen_cso() +{ + v_msg="Confirmez-vous cette saisie?"; + v_msgEng="Do you confirm this situation ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + afficher_examensmedicaux(); + } +} + +function no_presciption() +{ + facture=$("#facture").val(); + + if (facture==1) + { + v_msg="Déjà facturé !"; + v_msgEng="Already charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + numOrd = $("#numOrd").val(); + noPrescription = $("#noPrescription").val(); + + if (numOrd==0 && noPrescription==0) + { + v_msg="Confirmez-vous qu\'il n\'y a pas de prescription de médicaments?"; + v_msgEng="Do you confirm that there are no prescription drugs?"; + v_msg +="\n"; + v_msg +=v_msgEng; + + if (confirm(v_msg)) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxenregistrerprescription/noprescription/", + type : 'post', + // data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + }, + complete: function() { + feuillemaladie(); + } + }); + } + } +} + +function prescrire_verre_opt() +{ +// Ajout à la prescription + /* + nbActesVerres = $("#nbActesVerres").val(); + + if (nbActesVerres>0) + { + v_msg="Veuillez sélectionner un verre !"; + v_msgEng="Please select a glass !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeOptique").focus(); + return; + } + */ + + codePrestatairePrescription = $("#codePrestatairePrescription").val(); + codeOptique = $("#codeOptique").val(); + + if (codeOptique<=" ") + { + v_msg="Veuillez sélectionner un verre !"; + v_msgEng="Please select a glass !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#codeOptique").focus(); + return; + } + + donnees = 'codeOptique='+codeOptique; + donnees += '&codePrestatairePrescription=' + codePrestatairePrescription; + + // alert(donnees); + // return; + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailopticien/ajouterverreprescription/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#btn_close_pop_verre").click(); + // $("#livraison").html(data); + }, + complete: function() { + // alerter_depassement_limite(); + actualiser_opticien(); + } + }); + + //} + +// Fin Ajout à la prescription +} + +function controle_longeur_passe(controle) +{ + /* + longueur = controle.value.length; + + if(longueur==0) + { + return false; + } + + if(longueur<6) + { + v_msg="6 caractères minimum exigé!"; + v_msgEng="6 characters minmum required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + controle.value=""; + controle.focus(); + return false; + } + */ +} + +function ajax_maj_prix_medicament_pha(idMedicament, prix, controle) +{ + prix=prix.replace(",","."); + controle.value=prix; + + if(controle_numerique(controle)) + { + if(prix==0) + { + controle.focus(); + v_msg="Veuillez saisir le prix !"; + v_msgEng="Please enter the price !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idMedicament='+idMedicament+"&prix="+prix; + + // alert("ajax_maj_prix_medicament_pha : "+donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailpharmacien/majprixpha/", + type: 'POST', + data: donnees, + success: function(data) { + // $("#medicaments").html(data); + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + controle.focus(); + } + }); + } +} + +function facture_sans_bon() +{ + numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val(); + + if (numeroBeneficiaire<="0") + { + v_msg="Veuillez sélectionner un bénéficiaire !"; + v_msgEng="Please select an insured person!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb").val()+"Facturesansboncso/"); +} + +function nouvelle_sans_bon() +{ + window.location.assign($("#racineWeb").val()+"Facturesansboncso/"); +} + +// js_facture_san_sbon + +function enregistrerfacture_sans_bon_temp() +{ + codeMedecin = $("#codeMedecin").val(); + medecinManquant = $("#medecinManquant").val(); + + if (codeMedecin<=" ") + { + v_msg="Veuillez sélectionner un médecin !"; + v_msgEng="Please select a doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#nomMedecin").focus(); + return; + } + + if (codeMedecin=="ZZZZ" && medecinManquant<=" ") + { + v_msg="Veuillez saisir le nom du médecin non enregistré!"; + v_msgEng="Please enter the name of the non-registered doctor!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#medecinManquant").focus(); + return; + } + + numeroBon = $("#numeroBon").val(); + + if (numeroBon<=" ") + { + v_msg="Veuillez saisir le No de Bon !"; + v_msg +="\n"; + alert(v_msg); + $("#numeroBon").focus(); + return; + } + + dateFacture=$("#dateFacture").val(); + + if (dateFacture<=" ") + { + v_msg="Veuillez saisir la date de la facture !"; + v_msg +="\n"; + alert(v_msg); + $("#dateFacture").focus(); + return; + } + + /* + medecinManquant = $("#medecinManquant").val(); + + if (medecinManquant<=" ") + { + v_msg="Veuillez saisir le Médecin!"; + v_msg +="\n"; + alert(v_msg); + $("#medecinManquant").focus(); + return; + } + */ + + + observations = $("#observations").val(); + hospitalisation = $("#hospitalisation").val(); + tm = $("#tmFacture").val(); + + donnees = 'observations='+observations+'&dateFacture='+dateFacture+'&hospitalisation='+hospitalisation+'&tm='+tm+'&numeroBon='+numeroBon+'&medecinManquant='+medecinManquant+'&codeMedecin='+codeMedecin; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailfacturesansboncso/enregistrerfacturetemp/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_facture").html(data); + }, + complete: function() { + alerter_depassement_limite_sans_bon(); + } + }); +} + +function enregistrerfacture_sans_bon() +{ + enregistrerfacture_sans_bon_temp(); + + medecinManquant = $("#medecinManquant").val(); + + if (medecinManquant<=" ") + { + v_msg="Veuillez saisir le Médecin!"; + v_msg +="\n"; + alert(v_msg); + $("#medecinManquant").focus(); + return; + } + + dateFacture=$("#dateFacture").val(); + + if (dateFacture<=" ") + { + v_msg="Veuillez saisir la date de la facture !"; + v_msg +="\n"; + alert(v_msg); + $("#dateFacture").focus(); + return; + } + + prixActe = $("#prixActe").val(); + if (prixActe==0) + { + v_msg="Rien à enregistrer!"; + alert(v_msg); + + return; + } + + v_msg="Confirmez-vous cette facture ?"; + if (confirm(v_msg)) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailfacturesansboncso/validerfacturesansbon/", + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // maj_fraisexclu_cso(); + }, + complete: function() { + alert("Validation effectuée avec succès!"); + + afficher_beneficiaire_id(); + } + }); + } +} + +function ajax_maj_tm_facture(tm, controle) +{ + donnees = 'tm='+tm; + + tm=tm.replace(",","."); + controle.value=tm; + + if(controle_numerique(controle)) + { + enregistrerfacture_sans_bon_temp(); + } +} + +function ajax_maj_prix_acte(idPrestation, valeurActe, controle) +{ + donnees = 'idPrestation='+idPrestation+"&valeurActe="+valeurActe; + + valeurActe=valeurActe.replace(",","."); + controle.value=valeurActe; + + // alert("ajax_maj_prix_acte : "+donnees); + + if(controle_numerique(controle)) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailfacturesansboncso/majprix/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture").html(data); + }, + error: function(data) { + }, + complete: function(data) { + alerter_depassement_limite_sans_bon(); + } + }); + } +} + + +function valider_facture_sans_bon_temp() +{ + enregistrerfacture_sans_bon_temp(); +} + +function alerter_depassement_limite_sans_bon() +{ + fraisExclu=$("#fraisExclu").val(); + fraisExclu = parseInt(fraisExclu); + + if (fraisExclu>0) + { + v_msg="Attention ! Dépassement de limite"; + v_msgEng="Warning ! Overflow"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } +} + +function consulter_limite_avant_facturation_classique() +{ + idFacture=$("#idFacture_C").val(); + + if (idFacture==0) + { + v_msg="Pas encore facturée !"; + v_msgEng="Not yet charged !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureclassique/"); +} + + +function pop_messagerie() +{ + v_msg="Messagerie en cours de construction !"; + v_msgEng="Messaging under construction!"; + + alert_ebene(v_msg, v_msgEng); + return; + + /* + nbMessagesNonLus = $("#timer").val(); + // alert("nbMessagesNonLus : "+nbMessagesNonLus); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessagerieliste/", + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_messagerie").html(data); + }, + complete: function() { + $("#btn_pop_messagerie").click(); + } + }); + */ +} + + + +function envoyer_messagerie(textMessage, idParent) +{ + donnees = 'textMessage='+textMessage+"&idParent="+idParent; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessagerie/creermessage/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + }, + complete: function() { + } + }); +} + +function repondre_message(idMessagerie, idParent, controle) +{ + donnees = 'idMessagerie='+idMessagerie+'&idParent='+idParent; + + // alert(donnees); + // return; + // console.log(controle); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessageriereponse/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + $("#div_messagerie_reponse").html(data); + }, + complete: function() { + repondu = $("#repondu").val(); + if(repondu=="1") + { + v_msg="Déjà répondu!"; + v_msgEng="Already answered!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + controle.parentElement.removeChild(controle); + return; + } + else + {$("#btn_pop_messagerie_reponse").click(); + } + } + }); +} + +function gerer_messagerie() +{ + window.location.assign($("#racineWeb").val()+"Messagerie/"); +} + +function afficher_lite_messagerie() +{ + donnees = ""; + donnees_retour = ""; + + date1 = $("#date1").val(); + date2 = $("#date2").val(); + + messageLu = $("#messageLu").val(); + textMessage = $("#textMessage").val(); + + donnees += 'date1=' + date1; + donnees += '&date2=' + date2; + donnees += '&messageLu=' + messageLu; + donnees += '&textMessage=' + textMessage; + + // alert(donnees); + // return; + + $("#div_messagerie_gestion").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistemessagerie/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_messagerie_gestion").html(donnees_retour); + $("#nbligne").val("Lignes : "+$("#nbligne_info").val()); + } + }); +} + + +function enregistrer_repondre_message() +{ + idMessagerie = $("#idMessagerie").val(); + idParent = $("#idParentReponse").val(); + + textMessage = $("#textMessageReponse").val(); + textMessage = textMessage.trim(); + + if (textMessage<=" ") + { + v_msg="Veuillez saisir la réponse!"; + v_msgEng="Please enter the answer!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#textMessageReponse").focus(); + return; + } + + donnees = 'idMessagerie='+idMessagerie+"&idParent="+idParent+"&textMessage="+textMessage; + + // alert("enregistrer_repondre_message : "+donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessagerie/repondremessage/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + }, + complete: function() { + $("#btn_pop_messagerie_reponse_quit").click(); + } + }); +} + +function historique_message(idParent) +{ + donnees = 'idParent='+idParent; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessageriehistorique/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + $("#div_messagerie_historique").html(data); + }, + complete: function() { + $("#btn_pop_messagerie_historique").click(); + } + }); +} + +// btn_pop_messagerie_new +function initiermessage() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessagerienew/", + error: function(errorData) { + }, + success: function(data) { + $("#div_messagerie_new").html(data); + }, + complete: function() { + $("#btn_pop_messagerie_new").click(); + } + }); +} + +function enregistrer_new_message() +{ + textMessage = $("#textMessageNew").val(); + textMessage = textMessage.trim(); + + if (textMessage<=" ") + { + v_msg="Veuillez saisir le message!"; + v_msgEng="Please enter the message!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#textMessageNew").focus(); + return; + } + + donnees = 'textMessage='+textMessage+"&idParent=0"; + + // alert("enregistrer_new_message : "+donnees); + // return; + + $.ajax({ + // url: $("#racineWeb").val()+"Ajaxmessagerie/repondremessage/", + url: $("#racineWeb").val()+"Ajaxmessagerie/creermessage/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + }, + complete: function() { + $("#btn_pop_messagerie_new_quit").click(); + } + }); +} + +function consultation_assureur() +{ + dateFactureReelle = $("#dateFactureReelle").val(); + + if (dateFactureReelle<=" ") + { + v_msg="Veuillez saisir la date de la consultation !"; + v_msg +="\n"; + alert(v_msg); + $("#dateFactureReelle").focus(); + return; + } + + if (prestation_possible_assureur()) + { + $("#okId" ).val("1"); + + // alert("dateFactureReelle : "+dateFactureReelle); + // return; + + ajax_context_datefacture_reelle(dateFactureReelle); + } +} + +function prestation_possible_assureur() +{ + enVigueur = $("#enVigueur_C").val(); + codeEtatBeneficiaire = $("#codeEtatBeneficiaire_C").val(); + etatbeneficiaire = $("#etatbeneficiaire_C").val(); + college_couvert = $("#college_couvert_C").val(); + derogation_en_cours = $("#derogation_en_cours_C").val(); + derogation_finger_en_cours = $("#derogation_finger_en_cours_C").val(); + + datejour = $("#datejour_C").val(); + + // modification du 14/07/2018 => factures antidatée + dateFactureReelle = $("#dateFactureReelle").val(); + + + dateEffetPolice = $("#dateEffetPolice_C").val(); + dateEcheancePolice = $("#dateEcheancePolice_C").val(); + + // A désactivé peut-être pour RADIANT + if (enVigueur!="1") + { + v_msg="Attention! cette personne n'est pas en vigueur"; + v_msgEng="Warning! This person is not in force"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + + if (codeEtatBeneficiaire!="V") + { + alert("Attention! "+etatbeneficiaire); + return false; + } + + // Fin désactivation peut-être pour RADIANT + + if (college_couvert!="1" && derogation_en_cours<1) + { + v_msg="Attention! Cette personne n'a pas accès à ce centre"; + v_msgEng="Warning! This person does not have access to this center"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + + var td0 = new Date(dateEntreeBeneficiaire); + + // var td1 = new Date(datejour); + // modification du 14/07/2018 => factures antidatée + // var td1 = new Date(datejourOld); + var td1 = $("#dateFactureReelle").datepicker("getDate"); + var td2 = new Date(dateEcheancePolice); + var tdj = new Date(datejour); + + dt0=Math.round(Date.parse(td0)/(1000*3600*24)); + dt1=Math.round(Date.parse(td1)/(1000*3600*24)); + dt2=Math.round(Date.parse(td2)/(1000*3600*24)); + dtj=Math.round(Date.parse(tdj)/(1000*3600*24)); + + if (dt1>dtj) + { + v_msg="Attention! Revoir la date date!"; + v_msgEng="Warning! Review the date!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + + if (dt1>dt2 || dt1"2000-01-01") + { + var tdd = new Date(dateSortieBeneficiaire); + dtd=Math.round(Date.parse(tdd)/(1000*3600*24)); + + if (dt1>dtd) + { + v_msg="Attention! cette personne n'est pas couverte à cette date!"; + v_msgEng="Warning! This person is not valid on this date!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + } + + + dateDeces_C=$("#dateDeces_C").val(); + + if(dateDeces_C>"2000-01-01") + { + v_msg="Attention! personne décédée !"; + v_msgEng="Warning! Deceased !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return false; + } + + return true; +} + +function ajax_context_datefacture_reelle(dateFactureReelle) +{ + donnees = 'dateFactureReelle='+dateFactureReelle; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdatefacturerelle/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + complete: function() { + aller_a_la_consultatio(); + } + }); +} + +function aller_a_la_consultatio() +{ + window.location.assign($("#racineWeb" ).val()+"Consultation/"); +} + +function ajax_maj_qte_examen_lab(idExamen, quantite, controle) +{ + quantite=quantite.replace(",","."); + controle.value=quantite; + + if(controle_numerique(controle)) + { + if(quantite==0) + { + controle.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idExamen='+idExamen+"&quantite="+quantite; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/majquantiteexam/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + alerter_depassement_limite(); + controle.focus(); + } + }); + } +} + +function ajax_maj_qte_examen_lab_select(idExamen, quantite, controle) +{ + donnee_a_affciher = ""; + + quantite=quantite.replace(",","."); + controle.value=quantite; + + if(controle_numerique(controle)) + { + if(quantite==0) + { + controle.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idExamen='+idExamen+"&quantite="+quantite; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxselectexamens/majquantiteexam/", + type: 'POST', + data: donnees, + success: function(data) { + // $("#livraison").html(data); + donnee_a_affciher = data; + alerter_depassement_limite(); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + $("#totam_donnees").html(donnee_a_affciher); + // alerter_depassement_limite(); + controle.focus(); + } + }); + } +} + +function ajax_maj_qte_examen_cso(idExamen, quantite, controle) +{ + donnee_a_affciher = ""; + + quantite=quantite.replace(",","."); + controle.value=quantite; + + if(controle_numerique(controle)) + { + if(quantite==0) + { + controle.focus(); + v_msg="Veuillez saisir la quantité !"; + v_msgEng="Please enter the quantity !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + return; + } + + donnees = 'idExamen='+idExamen+"&quantite="+quantite; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailexamen/majquantiteexam/", + type: 'POST', + data: donnees, + success: function(data) { + $("#livraison").html(data); + controle.focus(); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); + } +} + +function actualiser_saisie_pharmacien() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailpharmacien/", + // type : 'post', + // data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#livraison").html(data); + raffraichier_detail_prescription(); + }, + complete: function() { + alerter_depassement_limite(); + } + }); +} + +function lister_ged() +{ + d1 = $("#d1").val(); + d2 = $("#d2").val(); + nomOrigine = $("#nomOrigine").val(); + + donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine; + + $("#div_ged").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteged/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_ged").html(data); + }, + complete: function() { + } + }); +} + +function ctrlkeypress_lister_ged(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + lister_ged(); + } +} + +function check_ged(idGed, cheminFichier, controle) +{ + donnees = "idGed="+idGed+"&cheminFichier="+cheminFichier; + + // alert(donnees); + // console.log(donnees); + // alert(cheminFichier); + // console.log(cheminFichier); + // return; + + // var cible_ged = $('#cible_ged'); + var ctrl_btn_ged = $("#btn_ged"+idGed); + var ctrl_mess_not_found= $("#mess_not_found"+idGed); + var ctrl_check = $("#ctrl_check"+idGed); + + // alert(controle.value); + // return; + + // document.getElementById('bouton_'+id).innerHTML='Afficher le texte'; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxged/verifierexistancefichier/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + // alert(data); + + donnees_retour = data; + + if(donnees_retour=="1") + { + ctrl_btn_ged.show(); + } + else + { + ctrl_mess_not_found.html("Not found"); + } + }, + complete: function() + { + controle.style.display = 'none'; + ctrl_check.show(); + } + }); +} + +function lister_ged_adherent() +{ + d1 = $("#d1").val(); + d2 = $("#d2").val(); + nomOrigine = $("#nomOrigine").val(); + + donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine; + + $("#div_ged").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistegedadherent/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_ged").html(data); + }, + complete: function() { + } + }); +} + +function lister_ged_beneficiaire_prest() +{ + d1 = $("#d1").val(); + d2 = $("#d2").val(); + nomOrigine = $("#nomOrigine").val(); + + donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine; + + $("#div_ged").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistegedbeneficiaireprest/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_ged").html(data); + }, + complete: function() { + } + }); +} + +function lister_ged_beneficiaire() +{ + d1 = $("#d1").val(); + d2 = $("#d2").val(); + nomOrigine = $("#nomOrigine").val(); + + donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine; + + $("#div_ged").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistegedbeneficiaire/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_ged").html(data); + }, + complete: function() { + } + }); +} + +function lister_ged_feuille_maladie() +{ + d1 = $("#d1").val(); + d2 = $("#d2").val(); + nomOrigine = $("#nomOrigine").val(); + + donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine; + + $("#div_ged").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistegedfeuillemaladie/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_ged").html(data); + }, + complete: function() { + } + }); +} + +function pop_ged_pharmacie() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlistegedpharmacie/", + error: function(errorData) { + alert("Erreur : "+errorData); + }, + success: function(data) + { + // alert(data); + // console.log(data); + $("#div_ged").html(data); + }, + complete: function() { + $("#btn_pop_ged_pharmacie").click(); + } + }); +} + +function save_enroleur(user_id) +{ + if (user_id>"") + { + donnees = 'user_id='+user_id; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextbeneficiaire/saveenroleur/", + type : 'post', + data: donnees, + error: function(errorData) { + alert("Erreur : "+errorData); + }, + complete: function() { + } + }); + } +} + + +/* ACTIVATION POPUP +function imprimer_liste_assures() +{ + $('#div_export_assures').html(''); + + $("#btn_liste_assures").click(); + popalertmessagerie +} +*/ + +function pop_dernier_messagerie() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessagerieliste/derniermessage/", + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dernier_messagerie").html(data); + }, + complete: function() { + $("#btn_pop_dernier_messagerie").click(); + } + }); +} + +function marquer_dernier_message_comme_lu(idMessagerie, controle) +{ + donnees = 'idMessagerie='+idMessagerie; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessagerieliste/marquercommelu/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + }, + complete: function() { + // controle.parentElement.removeChild(controle); + $("#btn_close_pop_dernier_messagerie").click(); + } + }); +} + +/* +function fonction_test() +{ + alert("fonction_test"); +} +*/ + +function isNumeric(num){ + return !isNaN(num) +} + +function retirer_consommable(idConsommable) +{ + donnees = 'idConsommable='+idConsommable; + + // alert(donnees); + // return; + + v_msg="Confirmez-vous cette suppression?"; + v_msgEng="Do you Confirm this deletion?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteconsommables/retirerconsommable/", + type: 'POST', + data: donnees, + success: function(data) { + // $('#div_test_gabarit').html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + afficher_consommable(); + } + }); + } +} + +function retirer_consommable_tous() +{ + v_msg="Confirmez-vous cette suppression?"; + v_msgEng="Do you Confirm this deletion?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteconsommables/retirerconsommabletous/", + type: 'POST', + success: function(data) { + // $('#div_test_gabarit').html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + afficher_consommable(); + } + }); + } +} + +function valider_consommables() +{ + v_msg="Confirmez-vous cette saisie?"; + v_msgEng="Do you confirm this situation ?"; + v_msg +="\n"; + v_msg +=v_msgEng; + if (confirm(v_msg)) + { + feuillemaladie(); + } +} + +function imprimerdecompteprestataireaccord() +{ + regle=$("#regle").val(); + + // alert("regle : "+regle); + // return; + + + if( (regle!=1) && (regle!=9) ) + { + v_msg="Pas encore validé par l\'asssureur"; + v_msgEng="Not yet validates by insurer!"; + v_msg +="\n"; + v_msg +=v_msgEng; + + alert(v_msg); + return; + } + + idReglement = $("#idReglement").val(); + + // alert("imprimerdecompteprestataireaccord = "+idReglement); + // return; + + if (idReglement>"0") + { + var div_wait = $('#div_wait'); + div_wait.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaximprimerdemandereglement/imprimerdecompteprestataireaccord", + type: 'POST', + success: function(data) + { + div_wait.html(data); + }, + error : function(resultat, statut, erreur) + { + alert(erreur); + }, + complete: function(data) + { + } + }); + } +} + + +function consulter_une_factures() +{ + window.location.assign($("#racineWeb" ).val()+"Facturecons//"); +} + +function ctrlkeypressfacture(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + $("#idFacture").blur(); + } +} + +function chercher_facture(idFacture) +{ + $("#div_facture_detail").html(''); + + $("#div_consulter_facture").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert(donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconsassure/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_consulter_facture").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function consulterfacturefeuillemaladie() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert(donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconsassure/feuillemaladie/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function consulterfactureprestationactes() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert("consulterfactureprestationactes : " + donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconsprestataire/prestationactes/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function consulterfacturemedicaments() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert("consulterfacturemedicaments : " + donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconsprestataire/medicaments/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function consulter_facture_pop(idFacture) +{ + $("#div_facture_detail").html(''); + + $("#div_consulter_facture_pop").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconspop/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_consulter_facture_pop").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + $('#btn_pop_consulter_facture').click(); + } + }); +} + +function consulterfacturefeuillemaladie_pop() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert(donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconspop/feuillemaladie/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function consulterfactureprestationactes_pop() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert("consulterfactureprestationactes : " + donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconspop/prestationactes/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function consulterfacturemedicaments_pop() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert("consulterfacturemedicaments : " + donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconspop/medicaments/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function consulterfactureged_pop() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert("consulterfacturemedicaments : " + donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconspop/geds/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function reafficher_ged_facture(idFacture) +{ + if (idFacture>"0") + { + donnees = 'idFacture='+idFacture; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxgedfacture/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_ged").html(data); + }, + complete: function() { + } + }); + } +} + +function valider_ged_facture() +{ + // alert("valider_ged_facture"); + // return; + + idFacture = $("#idFactureGed").val(); + v_url = $("#racineWeb").val()+"Ajaxgedfacture/chargerged"; + + donnees = ""; + + donnees = new FormData($("#ajax_form_upload")[0]); + + $.ajax({ + type: "POST", + url: v_url, + data: donnees, + contentType: false, + cache: false, + processData :false, + + success: function(message){ + alert(message); + }, + error: function(errorData){ + alert("Error : "+errorData); + }, + complete: function() { + // reafficher_ged_facture(idFacture); + } + }); +} + +function consulterfactureged() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + // alert("consulterfacturemedicaments : " + donnees); + // return; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconsprestataire/geds/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + } + }); +} + +function enregistrer_nv_verres() +{ + libelleOptique = $("#libelleOptique").val(); + + if (libelleOptique<=" ") + { + v_msg="Veuillez saisir le nom !"; + v_msgEng="Please enter the name !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + $("#libelleOptique").focus(); + return; + } + + prixVerre=$("#prixVerre").val(); + prixVerre=prixVerre.replace(",","."); + $("#prixVerre").val(prixVerre); + + if(isNaN(prixVerre)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#prixVerre").val("0"); + $("#prixVerre").focus(); + return + } + + if(prixVerre==0) + { + $("#prixVerre").focus(); + v_msg="Veuillez saisir le prix !"; + v_msgEng="Please enter the price !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + donnees = 'libelleOptique='+libelleOptique+'&prixVerre='+prixVerre; + + // alert(donnees); + // return; + + // typeSms="ententeprealableopt"; + + $.ajax({ + // url: $("#racineWeb").val()+"Ajaxlistemedicamentspha/creermedicament/", + url: $("#racineWeb").val()+"Ajaxdetailopticien/creerverre/", + type: 'POST', + data: donnees, + success: function(data) { + // $("#medicaments").html(data); + + $("#btn_close_pop_new_verre").click(); + $("#btn_close_pop_verre").click(); + + // $("#div_test_gabarit").html(data); + + }, + error: function(data) { + }, + complete: function() { + actualiser_opticien(); + } + }); +} + +function demander_accord_opt(idOptique) +{ + donnees = 'idOptique='+idOptique; + + typeSms="ententeprealableopt"; + + donnees_sav = 'idOptique='+idOptique+'&typeMail=mailententeprealableopt'; + + // alert("demander_accord_opt : "+donnees); + // return + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailopticien/demanderaccordopt/", + type: 'POST', + data: donnees, + success: function(data) { + preparesms(typeSms); + + v_msg="Demande accord prealable envoyée !"; + v_msgEng="Request prior agreement sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + // raffraichir affichage + $("#livraison").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + // alert("donnees_sav : "+donnees_sav); + mettremailattente(donnees_sav); + } + }); +} + +function demander_accord_mont(idOptique) +{ + + prixPrestataire = $("#prixPrestataire").val(); + + prixPrestataire=prixPrestataire.replace(",","."); + $("#prixPrestataire").val(prixPrestataire); + + if(isNaN(prixPrestataire)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#prixPrestataire").val("0"); + $("#prixPrestataire").focus(); + return + } + + if(prixPrestataire==0) + { + $("#prixPrestataire").focus(); + v_msg="Veuillez saisir le prix !"; + v_msgEng="Please enter the price !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + return; + } + + donnees = 'idOptique='+idOptique+'&prixPrestataire='+prixPrestataire; + + typeSms="ententeprealablemont"; + + donnees_sav = donnees+'&typeMail=mailententeprealablemont'; + + // alert(donnees_sav); + // return + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmonture/demanderaccordmont/", + + type: 'POST', + data: donnees, + success: function(data) { + preparesms(typeSms); + + v_msg="Demande accord prealable envoyée !"; + v_msgEng="Request prior agreement sent !"; + v_msg +="\n"; + v_msg +=v_msgEng; + alert(v_msg); + + $("#div_monture").html(data); + }, + error: function(data) { + //alert(data); + }, + complete: function() { + mettremailattente(donnees_sav); + } + }); +} + +function listerfacturefamille() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfacturesfamille/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function listerfacture() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactures/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function dossiers_famille() +{ + window.location.assign($("#racineWeb" ).val()+"Dossiersfamille/"); +} + +function dossiers() +{ + window.location.assign($("#racineWeb" ).val()+"Dossiers/"); +} + +// listerdossier_famille + +function listerdossier() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdossiers/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function listerdossier_famille() +{ + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdossiersfamille/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function ctrlkeypress_prestataire(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_prestataire(); + } +} + +function ctrlkeypress_prestataire2(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_pop_recherche_prestataire2(); + } +} + +function afficher_pop_recherche_prestataire() +{ + codesearch = $("#codesearch").val(); + nomsearch = $("#nomsearch").val(); + + if(codesearch+nomsearch<=" ") + return; + + donnees = "valid=1&codesearch="+codesearch+"&nomsearch="+nomsearch; + + $("#div_listeprestataires").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteprestataires/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_listeprestataires").html(data); + } + }); +} + +function afficher_pop_recherche_prestataire2() +{ + codesearch = $("#codesearch2").val(); + nomsearch = $("#nomsearch2").val(); + + if(codesearch+nomsearch<=" ") + return; + + donnees = "valid=1&codesearch="+codesearch+"&nomsearch="+nomsearch; + + $("#div_listeprestataires").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteprestatairesb/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#div_listeprestataires").html(data); + } + }); +} + + +function selectionner_prestataire(codePrestataire, nomPrestataire) +{ + $("#codePrestataire").val(codePrestataire); + $("#nomPrestataire").html(nomPrestataire); + $("#close_pop").click(); +} + + +function selectionner_prestataire2(codePrestataire, nomPrestataire) +{ + $("#codePrestataire").val(codePrestataire); + $("#nomPrestataire").html(nomPrestataire); + $("#close_pop2").click(); +} + + +function listerderogations() +{ + codePrestataire=$("#codePrestataire").val(); + codeDerogation=$("#codeDerogation").val(); + codeReponseDerogation=$("#codeReponseDerogation").val(); + debut=$("#debut").val(); + fin=$("#fin").val(); + + donnees = 'codePrestataire='+codePrestataire+'&codeDerogation='+codeDerogation+'&codeReponseDerogation='+codeReponseDerogation; + donnees += '&debut='+debut+'&fin='+fin; + + $("#div_derogations").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxderogations/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + $("#div_derogations").html(data); + }, + complete: function() { + } + }); +} + + +function reinitialiser_prestataire() +{ + $("#codePrestataire").val(""); + $("#nomPrestataire").html("Tous / Rechercher Prestataire ..."); + $("#close_pop").click(); +} + + +function reinitialiser_prestataire2() +{ + $("#codePrestataire").val(""); + $("#nomPrestataire").html("Tous / Rechercher Prestataire ..."); + $("#close_pop2").click(); +} + + +function consulter_derogation_2(idDemandederogation) +{ + window.location.assign($("#racineWeb" ).val()+"Consulterderogations/"+idDemandederogation+"/"); +} + +function consulter_derogation(idDemandederogation) +{ + window.location.assign($("#racineWeb" ).val()+"Consulterderogation/"+idDemandederogation+"/"); +} + +function liste_ententeprealables_mont() +{ + window.location.assign($("#racineWeb" ).val()+"Listeententeprealablesmont/"); +} + +function liste_ententeprealables_opt() +{ + window.location.assign($("#racineWeb" ).val()+"Listeententeprealablesopt/"); +} + +function listeententeprealables() +{ + codePrestataire=$("#codePrestataire").val(); + codeReponseEntentePrealable=$("#codeReponseEntentePrealable").val(); + debut=$("#debut").val(); + fin=$("#fin").val(); + + donnees = 'codePrestataire='+codePrestataire+'&codeReponseEntentePrealable='+codeReponseEntentePrealable; + donnees += '&debut='+debut+'&fin='+fin; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxententeprealables/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorDat); + }, + success: function(data) { + $("#div_ententeprealable").html(data); + }, + complete: function() { + } + }); +} + +function consulter_ententeprealable_2(idDemandeententeprealable) +{ + window.location.assign($("#racineWeb" ).val()+"Consulterententeprealables/"+idDemandeententeprealable+"/"); +} + +function consulter_ententeprealable(idDemandeententeprealable) +{ + window.location.assign($("#racineWeb" ).val()+"Consulterententeprealable/"+idDemandeententeprealable+"/"); +} + + +function consulter_ententeprealable_pha_2(idDemandeententeprealable) +{ + window.location.assign($("#racineWeb" ).val()+"Consulterententeprealablespha/"+idDemandeententeprealable+"/"); +} + +function consulter_ententeprealable_opt_2(idDemandeententeprealable) +{ + window.location.assign($("#racineWeb" ).val()+"Consulterententeprealablesopt/"+idDemandeententeprealable+"/"); +} + +function consulter_ententeprealable_mont_2(idDemandeententeprealable) +{ + window.location.assign($("#racineWeb" ).val()+"Consulterententeprealablesmont/"+idDemandeententeprealable+"/"); +} + + +function liste_ententeprealables_pha() +{ + window.location.assign($("#racineWeb" ).val()+"Listeententeprealablespha/"); +} + +function liste_ententeprealables() +{ + window.location.assign($("#racineWeb" ).val()+"Listeententeprealables/"); +} + +function listeententeprealablespha() +{ + codeReponseEntentePrealable=$("#codeReponseEntentePrealable").val(); + debut=$("#debut").val(); + fin=$("#fin").val(); + + donnees = 'codeReponseEntentePrealable='+codeReponseEntentePrealable; + donnees += '&debut='+debut+'&fin='+fin; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxententeprealablespha/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorDat); + }, + success: function(data) { + $("#div_ententeprealable").html(data); + }, + complete: function() { + } + }); +} + +function listeententeprealablesopt() +{ + codeReponseEntentePrealable=$("#codeReponseEntentePrealable").val(); + debut=$("#debut").val(); + fin=$("#fin").val(); + + donnees = 'codeReponseEntentePrealable='+codeReponseEntentePrealable; + donnees += '&debut='+debut+'&fin='+fin; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxententeprealablesopt/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorDat); + }, + success: function(data) { + $("#div_ententeprealable").html(data); + }, + complete: function() { + } + }); +} + + +function listeententeprealablesmont() +{ + + codeReponseEntentePrealable=$("#codeReponseEntentePrealable").val(); + debut=$("#debut").val(); + fin=$("#fin").val(); + + donnees = 'codeReponseEntentePrealable='+codeReponseEntentePrealable; + donnees += '&debut='+debut+'&fin='+fin; + + // alert(donnees); + // return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxententeprealablesmont/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorDat); + }, + success: function(data) { + $("#div_ententeprealable").html(data); + }, + complete: function() { + } + }); +} + + +function fraisfuneraire() +{ + fraisFuneraireDemande=$("#fraisFuneraireDemande_C").val(); + + if (fraisFuneraireDemande!=1) + { + v_msg="Aucune demande effectuée !"; + v_msg +="\n"; + alert(v_msg); + + return; + } + + window.location.assign($("#racineWeb" ).val()+"Fraisfuneraire/"); +} + +function histsupprempreinte() +{ + $("#div_detail_suppr_empreinte").html(""); + + debut=$("#debut").val(); + fin=$("#fin").val(); + + donnees = 'debut='+debut+'&fin='+fin; + + // alert(donnees); + // return; + + $("#div_detail_suppr_empreinte").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxhistsupprempreinte/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorDat); + }, + success: function(data) { + $("#div_detail_suppr_empreinte").html(data); + }, + complete: function() { + } + }); +} + + +function afficher_lite_prestataire() +{ + donnees = ""; + donnees_retour = ""; + + + codeTypePrestataire = $("#codeTypePrestataire").val(); + codeReseau = $("#codeReseau").val(); + libelle = $("#libelle").val(); + + codePays = $("#codePays").val(); + codeVille = $("#codeVille").val(); + codeLocalite = $("#codeLocalite").val(); + + donnees += 'codeTypePrestataire=' + codeTypePrestataire; + donnees += '&codeReseau=' + codeReseau; + donnees += '&libelle=' + libelle; + + donnees += '&codePays=' + codePays; + donnees += '&codeVille=' + codeVille; + donnees += '&codeLocalite=' + codeLocalite; + + // alert(donnees); + // return; + + $("#div_liste_prestataire").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteprestataireparametrage/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_liste_prestataire").html(donnees_retour); + $("#nbligne").val("Lignes : "+$("#nbligne_info").val()); + } + }); +} + + +function afficher_prestataire_id(idPrestataire) +{ + window.location.assign($("#racineWeb" ).val()+"Ficheprestataire/"+idPrestataire+"/"); +} + + +function afficher_pharmacie(numeroBonOrdonnance, codePrestataireLivraison) +{ + donnees = 'numeroBonOrdonnance='+numeroBonOrdonnance+'&codePrestataireLivraison='+codePrestataireLivraison; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxcontextpharmaciencien/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + complete: function() { + window.location.assign($("#racineWeb" ).val()+"Pharmaciencons/"); + } + }); +} + +// 06/04/2019 + +// 06/04/2019 +function changer_langue() +{ + codeLangue = $("#codeLangue").val(); + + v_msg="Attention, vous serez déconnecté! Confirmez-vous le changement de langue?"; + v_msgEng="Attention, you will be logged out! Do you confirm the language change?"; + + + confirm_ebene(v_msg, v_msgEng) + .then((isConfirmed) => { + if (isConfirmed) { + // L'utilisateur a confirmé + $.ajax({ + url: $("#racineWeb").val()+"Ajaxchangerlangue/changerlangue/", + type : 'post', + // data: donnees, + error: function(errorData) + { + }, + success: function(data) + { + // $("#div_test_gabarit").html(data); + }, + complete: function() + { + window.location.assign($("#racineWeb" ).val()+"Connexion/deconnecter/"); + } + }); + } else { + // L'utilisateur a annulé + console.log("Confirmation refusée"); + } + }); + +} + +function desactiver_click_droit() +{ + if (document.addEventListener) { + document.addEventListener('contextmenu', function (e) { + e.preventDefault(); + }, false); + } else { + document.attachEvent('oncontextmenu', function () { + window.event.returnValue = false; + }); + } +} + + +function ajaxListerVille() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxville/", + type : 'post', + data: "codePays="+$("#codePays").val(), + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listeville").html(data); + }, + complete: function() { + } + }); +} + +function ajaxListerLocalite() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlocalite/", + type : 'post', + data: "codePays="+$("#codePays").val()+"&codeVille="+$("#codeVille").val(), + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listelocalite").html(data); + } + }); +} + + +function ajaxListerVilleConsultation() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxville/consultation/", + type : 'post', + data: "codePays="+$("#codePays").val(), + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listeville").html(data); + }, + complete: function() { + } + }); +} + +function ajaxListerLocaliteConsultation() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlocalite/consultation/", + type : 'post', + data: "codePays="+$("#codePays").val()+"&codeVille="+$("#codeVille").val(), + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + $("#listelocalite").html(data); + } + }); +} + +// 2019 06 17 + +function enregistrer_new_notes() +{ + notesNew = $("#notesNew").val(); + notesNew = notesNew.trim(); + + if (notesNew<=" ") + { + v_msg="Veuillez saisir la note!"; + v_msgEng="Please enter the note!"; + alert_ebene(v_msg, v_msgEng); + + $("#notesNew").focus(); + return; + } + + donnees = 'notesNew='+notesNew; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxnotesfeuillemaladie/creernote/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) + { + $("#btn_pop_note_new_quit").click(); + }, + complete: function() { + afficher_notes_feuille(); + } + }); +} + +function afficher_notes_feuille() +{ + $("#div_notes").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxnotesfeuillemaladie/", + error: function(errorData) { + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_notes").html(donnees_retour); + } + }); +} + +function initiernotesfeuille() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxnotesfeuillemaladie/nouvellenote/", + error: function(errorData) { + }, + success: function(data) + { + $("#div_note_new").html(data); + }, + complete: function() { + $("#btn_pop_note_new").click(); + } + }); +} + + +function controle_numerique_new(idControle, oldValue) +{ + controle = document.getElementById(idControle); + + // alert("oldValue => "+oldValue); + + valeur = controle.value; + + if(isNaN(valeur)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + alert_ebene(v_msg, v_msgEng); + + controle.value=oldValue; + controle.focus(); + return false; + } + // alert("On est OK"); + return true; +} + +function supprimer_espace_string(p_mot) +{ + p_mot = p_mot.trim(); + p_mot = p_mot.replace(" ", ""); + return p_mot; +} + +function raffraichier_gabarit() +{ + $.ajax({ + url: $("#racineWeb").val()+"Ajaxgabarit/", + success: function(data) + { + $("#div_ajaxgabarit").html(data); + + /* + codeSociete = $("#codeSociete").val(); + vue = $("#vue").val(); + + if(codeSociete != "1" && vue !="Connexion"){ + + window.location.assign($("#racineWeb" ).val()+"Connexion/"); + } + */ + }, + error: function(errorData) + { + // alert("Erreur : "+errorData); + }, + complete: function() + { + $(".datepicker" ).datepicker(); + + raffraichier_messagerie(); + } + }); +} + +function connexion_cookie() +{ + msgErreur=$("#msgErreur").val(); + + donnees = 'msgErreur='+msgErreur; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconnexioncookie/", + type: 'POST', + data: donnees, + success: function(data) + { + $("#div_ajaxconnexion").html(data); + }, + error: function(errorData) + { + }, + complete: function() + { + var login = document.getElementById("login").value; + if (login>" ") + { + $("#mdp").focus(); + } + else + { + $("#login").focus(); + } + } + }); +} + +function ctrlkeypress_lite_prestataire(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_lite_prestataire(); + afficher_liste_prestataires_actifs(); + } +} + +function retour_prestataire_id() +{ + idPrestataire = $("#idPrestataire").val(); + afficher_prestataire_id(idPrestataire); +} + +function afficher_garantieadherent_exo() +{ + var div_attente = $('#div_gar_exo'); + + exercieReference=$("#exercieReference").val(); + + if (exercieReference<=" ") + { + v_msg="Veuillez sélectionner un exercice!"; + v_msgEng="Please select an exercise!"; + alert_ebene(v_msg, v_msgEng); + + $("#exercieReference").focus(); + + div_attente.html(''); + + return; + } + + donnees = 'exercieReference='+exercieReference; + + div_attente.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxplafondadherent/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + div_attente.html(data); + }, + complete: function() { + } + }); +} + +function anteceentsmedicaux() +{ + window.location.assign($("#racineWeb" ).val()+"Anteceentsmedicaux/"); +} + +function diagnosticsbeneficiaire() +{ + window.location.assign($("#racineWeb" ).val()+"Diagnosticsconsbeneficiaire/"); +} + +function notesbeneficiaire() +{ + window.location.assign($("#racineWeb" ).val()+"Notesbeneficiaire/"); +} + +function afficher_diagnostics_beneficiaire() +{ + $("#div_dianostics").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdiagnosticsbeneficiaire/", + error: function(errorData) { + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_dianostics").html(donnees_retour); + } + }); +} + +function afficher_notes_beneficiaire() +{ + $("#div_notes").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxnotesbeneficiaire/", + error: function(errorData) { + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_notes").html(donnees_retour); + } + }); +} + +function afficher_contacts_assureur() +{ + window.location.assign($("#racineWeb" ).val()+"Infossassureur/"); +} + +function afficher_factures_feuille() +{ + $("#div_detail_factures").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfacturesfeuille/", + error: function(errorData) { + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_detail_factures").html(donnees_retour); + } + }); +} + +function ctrlkeypressconsultation(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + $("#numeroBonConsultation").blur(); + } +} + +function afficher_factures_consultation(numeroBonConsultation) +{ + donnees = "numeroBonConsultation="+numeroBonConsultation; + + $("#div_detail_factures").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdossiercons/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_detail_factures").html(donnees_retour); + } + }); +} + +function test_online() +{ + if(navigator.onLine) + { + $("#test_connexion").css('background-color', 'green'); + v_msg="Connexion OK!"; + v_msgEng="Connection OK"; + alert_ebene(v_msg, v_msgEng); + + } + else + { + $("#test_connexion").css('background-color', 'red'); + v_msg="Problème de Connexion!"; + v_msgEng="Connection Problem!"; + alert_ebene(v_msg, v_msgEng); + } + return; +} + +function raffraichier_messagerie() +{ + deconnexion='0'; + if(navigator.onLine) + { + //$("#test_connexion").css('background-color', 'green'); + c_html = ""; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxmessagerie/", + success: function(data) { + c_html = data; + }, + error: function(errorData) { + }, + complete: function() { + $("#nbMessagesNonLus").html(c_html); + // Ajout du 27/10/2024 => déconnecter si session expirée + + deconnexion=$("#deconnexion").val(); + + if(deconnexion=='1') + { + window.location.assign($("#racineWeb" ).val()+"Connexion/deconnecter/"); + } + } + }); + } + else + { + $("#test_connexion").css('background-color', 'red'); + return; + } +} + + +function consulterfactureverres() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + alert_ebene(v_msg, v_msgEng); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return; + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconsprestataire/verres/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + }, + complete: function() { + } + }); +} + + +function consulterfactureverres_pop() +{ + idFacture = $("#idFacture").val(); + + $("#div_facture_detail").html('
' + '' + '
'); + + donnees = 'idFacture='+idFacture; + + if(isNaN(idFacture)) + { + v_msg="Valeur numérique exigée!"; + v_msgEng="Numeric value required!"; + alert_ebene(v_msg, v_msgEng); + + $("#idFacture").val("0"); + $("#idFacture").focus(); + return; + } + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxfactureconspop/verres/", + type: 'POST', + data: donnees, + success: function(data) { + $("#div_facture_detail").html(data); + }, + error: function(data) { + }, + complete: function() { + } + }); +} + +function consulter_remplacer_medicament() +{ + $("#div_liste_medicaments_remplaces").html('
' + '' + '
'); + + $('#btn_medicaments_remplaces').click(); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdetailprescription/consulterremplacement/", + type: 'POST', + success: function(data) { + $("#div_liste_medicaments_remplaces").html(data); + }, + error: function(data) { + }, + complete: function() + { + // $('#btn_medicaments_remplaces').click(); + } + }); +} + +function afficher_garantieadherent_entete_contrat() +{ + var div_attente = $('#div_gar_exo'); + + idEntetecontrat=$("#idEntetecontrat").val(); + + if (idEntetecontrat<="0") + { + v_msg="Veuillez sélectionner une période!"; + v_msgEng="Please select a period!"; + alert_ebene(v_msg, v_msgEng); + + $("#idEntetecontrat").focus(); + + div_attente.html(''); + + return; + } + + // donnees = 'exercieReference='+exercieReference; + donnees = 'idEntetecontrat='+idEntetecontrat; + + div_attente.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxplafondadherent/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + div_attente.html(data); + }, + complete: function() { + } + }); +} + +function afficher_garantiebeneficiaire_entete_contrat() +{ + var div_attente = $('#div_gar_exo'); + + idEntetecontrat=$("#idEntetecontrat").val(); + + if (idEntetecontrat<="0") + { + v_msg="Veuillez sélectionner une période!"; + v_msgEng="Please select a period!"; + alert_ebene(v_msg, v_msgEng); + + $("#idEntetecontrat").focus(); + + div_attente.html(''); + + return; + } + + donnees = 'idEntetecontrat='+idEntetecontrat; + + div_attente.html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxplafondbeneficiaire/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + div_attente.html(data); + }, + complete: function() { + } + }); +} + +function afficher_liste_prestataires_actifs() +{ + donnees = ""; + donnees_retour = ""; + + + codeTypePrestataire = $("#codeTypePrestataire").val(); + codeReseau = $("#codeReseau").val(); + libelle = $("#libelle").val(); + + codePays = $("#codePays").val(); + codeVille = $("#codeVille").val(); + codeLocalite = $("#codeLocalite").val(); + + donnees += 'codeTypePrestataire=' + codeTypePrestataire; + donnees += '&codeReseau=' + codeReseau; + donnees += '&libelle=' + libelle; + + donnees += '&codePays=' + codePays; + donnees += '&codeVille=' + codeVille; + donnees += '&codeLocalite=' + codeLocalite; + + // alert(donnees); + // return; + + $("#div_liste_prestataire").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlisteprestataireparametrage/prestatairesactifs/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_liste_prestataire").html(donnees_retour); + dataTableSpeciale(); + $("#nbligne").val("Lignes : "+$("#nbligne_info").val()); + } + }); +} + +function ctrlkeypress_liste_prestataires_actif(ev) +{ + var keycode = (ev.keyCode ? ev.keyCode : ev.which); + if(keycode == '13') + { + afficher_liste_prestataires_actifs(); + } +} + +// 12-07-2021 + +$(function(){ + + appliquerDataTable(); + dataTableSpeciale(); + + $("#div_selection_prestataire").hide(); + + + if($('#nomForm').val() == "frmDetailBaremeCollege" || $('#nomForm').val() == "frmConsulterDetailBaremeCollege"){ + afficherDetailBaremeCollege(); + } + + if($('#nomForm').val() == "historembdirect") + { + listerremboursement(); + } + + if($('#nomForm').val() == "histocontest") + { + listerdossiercontestes(); + } + + + +}); + +// Applique la librairie DataBase sur les tableaux +function appliquerDataTable(){ + + var sc = $(window).scrollTop(), + dh = $(document).height(), + ch = $(window).height(); + scrollPercent = (sc / (dh-ch)) * 100; + + try{ + var oTable = $('.tabliste').DataTable({ + "lengthMenu": [ 50, 100, 150], + "scrollX": true, + "scrollY": "75vh", + "pagingType": "full_numbers", + "autoWidth": false, + "language": { + "lengthMenu":"Affiche _MENU_ par page", + "zeroRecords": "Désolé - Aucune donnée trouvée", + "info": "_PAGE_ sur _PAGES_ pages", + "infoEmpty": "Pas d'enregistrement", + "search": "Recherche:", + "paginate": { + "next": ">>", + "previous": "<<", + "first": "|<", + "last": ">|" + }, + "infoFiltered": "(filtré de _MAX_ total enregistrements)" + } + }); + + } + catch(err){ + return false; + } + +} + +function dataTableSpeciale(){ + const oTable = $('.tabspeciale'); + var codeLangue = $("#codeLangue").val(); + + // Détruire l'instance existante si elle existe + if ($.fn.DataTable.isDataTable(oTable)) { + table.DataTable().destroy(); + table.empty(); // Optionnel : vider le contenu si nécessaire + } + + try{ + if(codeLangue=="en_US") + { + oTable.DataTable({ + destroy: true, + responsive: true, + "lengthMenu": [ 25, 50, 100], + "scrollX": true, + "scrollY": "75vh", + "pagingType": "full_numbers", + "autoWidth": false, + "bFilter": false, + "ordering": false, + "bLengthChange": false, + "orderMulti": true, + "language": { + "lengthMenu":"Display _MENU_ records per page", + "zeroRecords": "Nothing found - sorry", + "info": "Showing page _PAGE_ of _PAGES_", + "infoEmpty": "No records available", + "search": "Search:", + "paginate": { + "next": "►", + "previous": "◄", + "first": "|◄", + "last": "►|" + }, + "infoFiltered": "(filtered from _MAX_ total records)" + } + }); + }else{ + oTable.DataTable({ + destroy: true, + responsive: true, + "lengthMenu": [ 25, 50, 100], + "scrollX": true, + "scrollY": "75vh", + "pagingType": "full_numbers", + "autoWidth": false, + "bFilter": false, + "ordering": false, + "bLengthChange": false, + "orderMulti": true, + "language": { + "lengthMenu":"Affiche _MENU_ par page", + "zeroRecords": "Désolé - Aucune donnée trouvée", + "info": "_PAGE_ sur _PAGES_ pages", + "infoEmpty": "Pas d'enregistrement", + "search": "Recherche:", + "paginate": { + "next": "►", + "previous": "◄", + "first": "|◄", + "last": "►|" + }, + "infoFiltered": "(filtré de _MAX_ total enregistrements)" + } + }); + } + + //$('.tabspeciale').columns.adjust().draw(); + } + catch(err){ + return false; + } +} + +function dataTableSpecialeMini(){ + try{ + $('.tabspecialemini').DataTable({ + "lengthMenu": [ 50, 100, 150], + "scrollX": true, + "scrollY": "34vh", + "pagingType": "full_numbers", + "autoWidth": false, + "bFilter": false, + "bLengthChange": false, + "orderMulti": true, + "language": { + "lengthMenu":"Affiche _MENU_ par page", + "zeroRecords": "Désolé - Aucune donnée trouvée", + "info": "_PAGE_ sur _PAGES_ pages", + "infoEmpty": "Pas d'enregistrement", + "search": "Recherche:", + "paginate": { + "next": ">>", + "previous": "<<", + "first": "|<", + "last": ">|" + }, + "infoFiltered": "(filtré de _MAX_ total enregistrements)" + } + }); + + } + catch(err){ + return false; + } +} + +function afficherMasquerDepenses() +{ + masquerDepenses = $("#masquerDepenses").val(); + + const element = document.getElementById("chevron-prestation"); + + if(masquerDepenses=="1"){ + $('#div_depenses').hide(); + $("#masquerDepenses").val("0"); + $("#span_depenses").text("Afficher"); + + element.classList.remove("bi-chevron-up"); + element.classList.add("bi-chevron-down"); + + }else{ + $('#div_depenses').show(); + $("#masquerDepenses").val("1"); + $("#span_depenses").text("Masquer"); + + element.classList.remove("bi-chevron-down"); + element.classList.add("bi-chevron-up"); + } + +} + +function afficherMasquerGaranties() +{ + masquerGarantie = $("#masquerGarantie").val(); + + const element = document.getElementById("chevron-garantie"); + + if(masquerGarantie=="1"){ + $('#div_garantie').hide(); + $("#masquerGarantie").val("0"); + $("#span_garantie").text("Afficher"); + $('#div_garantie').css('margin-bottom', '0px'); + + element.classList.remove("bi-chevron-up"); + element.classList.add("bi-chevron-down"); + }else{ + $('#div_garantie').show(); + $("#masquerGarantie").val("1"); + $("#span_garantie").text("Masquer"); + //$('#div_benef').hide(); + $('#div_garantie').css('margin-bottom', '180px'); + + element.classList.remove("bi-chevron-down"); + element.classList.add("bi-chevron-up"); + + } + +} + + +function afficherhistoriqueadherent(numeroAdherent){ + + d1=$("#d1").val(); + d2=$("#d2").val(); + + codeGarantie=$("#codeGarantie").val(); + + donnees = "numeroAdherent="+numeroAdherent+"&codeGarantie="+codeGarantie; + donnees += '&d1='+d1+'&d2='+d2; + + $("#div_prestation").html('
' + '' + '
'); + + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxhistoriqueprestation/prestations/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + $("#div_prestation").html(data); + + setTimeout(function() { + functionDataTable(); + }, 1000); + + + }, + complete: function() { + + } + }); + +} + +function afficherMasquerBareme() +{ + masquerBareme = $("#masquerBareme").val(); + + const element = document.getElementById("chevron-plafond"); + + if(masquerBareme=="1"){ + $('#div_bareme').hide(); + $("#masquerBareme").val("0"); + $("#span_bareme").text("Afficher"); + + element.classList.remove("bi-chevron-up"); + element.classList.add("bi-chevron-down"); + }else{ + $('#div_bareme').show(); + $("#masquerBareme").val("1"); + $("#span_bareme").text("Masquer"); + + element.classList.remove("bi-chevron-down"); + element.classList.add("bi-chevron-up"); + } + +} + +/* +document.addEventListener("DOMContentLoaded", function() { + // Récupérez la barre de progression + var progressBar = document.querySelector('.progress-bar'); + + // Récupérez la valeur de l'attribut data-value + var value = parseInt(progressBar.getAttribute('data-value')); + + // Mettez à jour la largeur de la barre de progression + progressBar.style.width = value + '%'; + progressBar.setAttribute('aria-valuenow', value); +}); +*/ + +function modifier_beneficiaire() +{ + if ($("#idBeneficiaire_C" ).val()>"") + { + window.location.assign($("#racineWeb" ).val()+"Modifierbeneficiaire/"+$("#idBeneficiaire_C").val()+"/"); + } +} + + +function functionDataTable(){ + var tab = ''; + + tab = $('#tableLister'); + + + try{ + tab.DataTable({ + responsive: true, + "lengthMenu": [ 25, 50, 100], + "scrollX": true, + "scrollY": "75vh", + "pagingType": "full_numbers", + "autoWidth": false, + "language": { + "lengthMenu":"Affiche _MENU_ par page", + "zeroRecords": "D\u00e9sol\u00e9 - Aucune donn\u00e9e trouv\u00e9e", + "info": "_PAGE_ sur _PAGES_ pages", + "infoEmpty": "Pas d'enregistrement", + "search": "Recherche:", + "paginate": { + "next": "►", + "previous": "◄", + "first": "|◄", + "last": "►|" + }, + "infoFiltered": "(filtr\u00e9 de _MAX_ total enregistrements)" + } + }); + + + } + catch(err){ + return false; + } + +} + + +function changer_entite_portail() +{ + codeSociete=$("#codeSociete").val(); + + if (codeSociete<=" ") + { + v_msg="Veuillez indiquer une entité!"; + v_msgEng="Please indicate an entity!"; + alert_ebene(v_msg, v_msgEng); + + $("#codeSociete").focus(); + return; + } + + //alert(codeSociete); + //return; + + donnees = 'codeSociete='+codeSociete; + + v_url = $("#racineWeb").val()+"Ajaxchangerentiteportail/"; + + $("#div_login_portail").html('
' + '' + '
'); + + $.ajax({ + url: v_url, + type : 'post', + data: donnees, + error: function(errorData) { + // alert('success :' + errorData); + $("#div_login_portail").html(errorData); + }, + success: function(data) { + // alert('success :' + data); + $("#div_login_portail").html(data); + societeExiste = $("#societeExiste").val(); + entiteActive = $("#entiteActive").val(); + + if(societeExiste=="1" && entiteActive=="1") + { + $("#btn_connexion").enable(); + $("#login").focus(); + + }else + { + $("#btn_connexion").disable(); + } + } + }); +} + +function changer_langue_connexion() +{ + codeLangue = $("#langue").val(); + donnees = 'codeLangue='+codeLangue; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconnexioncookie/changerlangue/", + type : 'post', + data: donnees, + error: function(errorData) + { + }, + success: function(data) + { + $("#div_detail_connexion").html(data); + }, + complete: function() + { + $(".selectpicker").selectpicker(); + } + }); + +} + +function change_password() +{ + + v_msg="Attention, vous serez déconnecté par la suite! Voulez-vous changer votre mot de passe?"; + v_msgEng="Attention, you will be logged out afterwards! Do you want to change your password?"; + + confirm_ebene(v_msg, v_msgEng) + .then((isConfirmed) => { + if (isConfirmed) { + // L'utilisateur a confirmé + window.location.assign($("#racineWeb" ).val()+"Changermotpass/"); + } else { + // L'utilisateur a annulé + console.log("Confirmation refusée"); + } + }); +} + +function consulter_detail_bareme_college(idBaremePriseEnCharge) +{ + window.location.assign($("#racineWeb" ).val()+"Consulterdetailbaremecollege/"+idBaremePriseEnCharge+"/"); +} + +function retour_fiche_consulter_bareme() +{ + var retour = $('#retour').val(); + + if(retour=="Ficheadherent"){ + afficher_adherent_id(); + }else{ + afficher_beneficiaire_id(); + } + +} + +/* + +function afficherMasquerDepenses() +{ + masquerDepenses = $("#masquerDepenses").val(); + + const element = document.getElementById("chevron-prestation"); + + if(masquerDepenses=="1"){ + $('#div_depenses').hide(); + $("#masquerDepenses").val("0"); + $("#span_depenses").text("Voir"); + + element.classList.remove("bi-chevron-up"); + element.classList.add("bi-chevron-down"); + + }else{ + $('#div_depenses').show(); + $("#masquerDepenses").val("1"); + $("#span_depenses").text("Masquer"); + + element.classList.remove("bi-chevron-down"); + element.classList.add("bi-chevron-up"); + } + +} + + +*/ + +function afficherDetailBaremeCollege() +{ + masquerBareme = $("#masquerBareme").val(); + + const element = document.getElementById("chevron-bareme"); + + if(masquerBareme == undefined){ + masquerBareme = "1"; + } + + if(masquerBareme=="1"){ + $('#div_bareme').hide(); + $("#masquerBareme").val("0"); + //$("#span_bareme").text("[+]"); + element.classList.remove("bi-chevron-up"); + element.classList.add("bi-chevron-down"); + + }else{ + $('#div_bareme').show(); + $("#masquerBareme").val("1"); + //$("#span_bareme").text("[-]"); + + element.classList.remove("bi-chevron-down"); + element.classList.add("bi-chevron-up"); + + actualiser_detailbareme_college(); + } + + afficheNombreLigneBaremeCollege('detailbareme'); +} + + +function afficheNombreLigneBaremeCollege(table) +{ + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxnbrelignebaremecollege/"+table+"/", + type : 'post', + data: "table="+table, + error: function(errorData) { + }, + success: function(data) { + if(table=="garantiesbaremepriseencharge"){ + $("#garantiesbaremepriseencharge").html(data); + }else if(table=="garantiesbaremepriseenchargelienparente"){ + $("#garantiesbaremepriseenchargelienparente").html(data); + }else if(table=="actesbaremepriseencharge"){ + $("#actesbaremepriseencharge").html(data); + }else if(table=="actesbaremepriseenchargelienparente"){ + $("#actesbaremepriseenchargelienparente").html(data); + }else if(table=="detailbareme"){ + $("#detailbareme").html(data); + } + }, + complete: function() { + + } + }); +} + +function actualiser_detailbareme_college() +{ + idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val(); + + donnees = 'idBaremePriseEnCharge='+idBaremePriseEnCharge; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinsererdetailbaremecollege/", + type : 'post', + data: donnees, + error: function(errorData){ + //alert("Erreur : "+errorData); + }, + success: function(data) { + //alert("Success : "+data); + $('#div_bareme').html(data); + + + }, + complete: function() { + + } + }); + +} + +function afficher_consulter_actes_garantiebareme(idBaremePriseEnCharge, codeGarantie){ + + + donnees = 'codeGarantie='+codeGarantie; + donnees += '&idBaremePriseEnCharge='+idBaremePriseEnCharge; + + $("#div_patienter").html(''); + + $("#div_patienter").html('
' + '' + '
'); + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsulteractesgarantiebareme/", + type : 'post', + data: donnees, + error: function(errorData){ + //alert("Erreur : "+errorData); + }, + success: function(data) { + //alert("Success : "+data); + + + $('#div_actesgarantiebareme').html(data); + $('#div_actesgarantiebareme').modal("show"); + + appliquerDataTableBareme(); + + $('#div_actesgarantiebareme').on('shown.bs.modal', function(){ + stylechampsRequis(); + }); + + afficherMasquerGarantiesBaremeCollege(); + afficherMasquerGarantiesBaremeLienParenteCollege(); + afficherMasquerActeBaremeCollege(); + afficherMasquerActeBaremeLienParenteCollege(); + + $(".datepicker").datepicker(); + $("#codeActe").selectpicker(); + $("#codeActeLienParente").selectpicker(); + $("#div_patienter").html(''); + }, + complete: function() { + afficheNombreLigneBaremeCollege('garantiesbaremepriseencharge'); + afficheNombreLigneBaremeCollege('garantiesbaremepriseenchargelienparente'); + afficheNombreLigneBaremeCollege('actesbaremepriseencharge'); + afficheNombreLigneBaremeCollege('actesbaremepriseenchargelienparente'); + } + }); +} + +function appliquerDataTableBareme(){ + try{ + $('.tabbareme').DataTable({ + "lengthMenu": [3, 6, 10], + "scrollX": true, + "scrollY": "20vh", + "pagingType": "full_numbers", + "autoWidth": true, + "bFilter": false, + "bLengthChange": false, + "orderMulti": false, + "orderCellsTop": true, + "language": { + "lengthMenu":"Affiche _MENU_ par page", + "zeroRecords": "Désolé - Aucune donnée trouvée", + "info": "_PAGE_ sur _PAGES_ pages", + "infoEmpty": "Pas d'enregistrement", + "search": "Recherche:", + "paginate": { + "next": "►", + "previous": "◄", + "first": "|◄", + "last": "►|" + }, + "infoFiltered": "(filtré de _MAX_ total enregistrements)" + } + }); + + } + catch(err){ + return false; + } +} + +function afficherMasquerGarantiesBaremeCollege() +{ + masquerGarantie = $("#masquerGarantie").val(); + + + if(masquerGarantie == undefined){ + masquerGarantie = "1"; + } + + //alert(masquerGarantie); + + if(masquerGarantie=="1"){ + $('#div_garanties_masquer').hide(); + $("#masquerGarantie").val("0"); + $("#span_garantie").text("[+]"); + + }else{ + $('#div_garanties_masquer').show(); + $("#masquerGarantie").val("1"); + //$("#dateEffetGarantie").focus(); + + actualiser_bareme_garantie_college(); + $("#span_garantie").text("[-]"); + + $("#masquerGarantieLienParente").val("1"); + $("#masquerActe").val("1"); + $("#masquerActeLienParente").val("1"); + + afficherMasquerGarantiesBaremeLienParenteCollege(); + afficherMasquerActeBaremeCollege(); + afficherMasquerActeBaremeLienParenteCollege(); + } + + afficheNombreLigneBaremeCollege('garantiesbaremepriseencharge'); +} + +function afficherMasquerGarantiesBaremeLienParenteCollege() +{ + masquerGarantieLienParente = $("#masquerGarantieLienParente").val(); + + + + if(masquerGarantieLienParente == undefined){ + masquerGarantieLienParente = "1"; + } + + if(masquerGarantieLienParente=="1"){ + $('#div_garanties_lienparente_masquer').hide(); + $("#masquerGarantieLienParente").val("0"); + $("#span_garantie_lienparente").text("[+]"); + + }else{ + $('#div_garanties_lienparente_masquer').show(); + $("#masquerGarantieLienParente").val("1"); + + actualiser_bareme_garantie_lienparente_college(); + $("#span_garantie_lienparente").text("[-]"); + + $("#masquerGarantie").val("1"); + $("#masquerActe").val("1"); + $("#masquerActeLienParente").val("1"); + + afficherMasquerGarantiesBaremeCollege(); + afficherMasquerActeBaremeCollege(); + afficherMasquerActeBaremeLienParenteCollege(); + } + + afficheNombreLigneBaremeCollege('garantiesbaremepriseenchargelienparente'); +} + +function afficherMasquerActeBaremeCollege() +{ + masquerActe = $("#masquerActe").val(); + + if(masquerActe == undefined){ + masquerActe = "1"; + } + + if(masquerActe=="1"){ + $('#div_acte_masquer').hide(); + $("#masquerActe").val("0"); + $("#span_acte").text("[+]"); + + }else{ + $('#div_acte_masquer').show(); + $("#masquerActe").val("1"); + + actualiser_bareme_acte_college(); + $("#span_acte").text("[-]"); + + $("#masquerGarantie").val("1"); + $("#masquerGarantieLienParente").val("1"); + $("#masquerActeLienParente").val("1"); + + afficherMasquerGarantiesBaremeCollege(); + afficherMasquerGarantiesBaremeLienParenteCollege(); + afficherMasquerActeBaremeLienParenteCollege(); + } + + afficheNombreLigneBaremeCollege('actesbaremepriseencharge'); +} + +function afficherMasquerActeBaremeLienParenteCollege() +{ + masquerActeLienParente = $("#masquerActeLienParente").val(); + + if(masquerActeLienParente == undefined){ + masquerActeLienParente = "1"; + } + + if(masquerActeLienParente=="1"){ + $('#div_acte_lienparente_masquer').hide(); + $("#masquerActeLienParente").val("0"); + $("#span_acte_lienparente").text("[+]"); + + }else{ + $('#div_acte_lienparente_masquer').show(); + $("#masquerActeLienParente").val("1"); + + actualiser_bareme_acte_lienparente_college(); + $("#span_acte_lienparente").text("[-]"); + + $("#masquerGarantie").val("1"); + $("#masquerGarantieLienParente").val("1"); + $("#masquerActe").val("1"); + + afficherMasquerGarantiesBaremeCollege(); + afficherMasquerGarantiesBaremeLienParenteCollege(); + afficherMasquerActeBaremeCollege(); + } + + afficheNombreLigneBaremeCollege('actesbaremepriseenchargelienparente'); +} + +function stylechampsRequis(){ + var requis = $('input,select,textarea').filter('[required]:visible'); + + requis.each(function(){ + $(this).focus(function(){ + $(this).css('borderColor','red'); + }); + $(this).blur(function(){ + $(this).css('borderColor','#cccccc'); + }); + }); + +} + +function actualiser_bareme_garantie_college() +{ + codeGarantie = $("#codeGarantie").val(); + idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val(); + + + donnees = 'codeGarantie='+codeGarantie; + donnees += '&idBaremePriseEnCharge='+idBaremePriseEnCharge; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinsererbaremegarantiecollege/", + type : 'post', + data: donnees, + error: function(errorData){ + //alert("Erreur : "+errorData); + }, + success: function(data) { + //alert("Success : "+data); + $('#div_garanties_bareme').html(data); + + + }, + complete: function() { + + } + }); + +} + +function actualiser_bareme_garantie_lienparente_college() +{ + codeGarantie = $("#codeGarantie").val(); + idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val(); + + donnees = 'codeGarantie='+codeGarantie; + donnees += '&idBaremePriseEnCharge='+idBaremePriseEnCharge; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinsererbaremegarantielienparentecollege/", + type : 'post', + data: donnees, + error: function(errorData){ + //alert("Erreur : "+errorData); + }, + success: function(data) { + //alert("Success : "+data); + $('#div_garanties_bareme_lienparente').html(data); + + + }, + complete: function() { + + } + }); + +} + +function actualiser_bareme_acte_college() +{ + codeGarantie = $("#codeGarantie").val(); + idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val(); + + + donnees = 'codeGarantie='+codeGarantie; + donnees += '&idBaremePriseEnCharge='+idBaremePriseEnCharge; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinsererbaremeactecollege/", + type : 'post', + data: donnees, + error: function(errorData){ + //alert("Erreur : "+errorData); + }, + success: function(data) { + //alert("Success : "+data); + $('#div_actes_bareme').html(data); + + + }, + complete: function() { + + } + }); + +} + +function actualiser_bareme_acte_lienparente_college() +{ + codeGarantie = $("#codeGarantie").val(); + idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val(); + + + + donnees = 'codeGarantie='+codeGarantie; + donnees += '&idBaremePriseEnCharge='+idBaremePriseEnCharge; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxinsererbaremeactelienparentecollege/", + type : 'post', + data: donnees, + error: function(errorData){ + //alert("Erreur : "+errorData); + }, + success: function(data) { + //alert("Success : "+data); + $('#div_actes_lienparente').html(data); + + + }, + complete: function() { + + } + }); + +} + + +function consosadherent(){ + + var idAdherent = $('#idAdherent').val(); + + $("#div_patienter").html('
' + '' + '
'); + + //Ajaxlimiteaddadherent + donnees = 'idAdherent='+idAdherent; + + //alert(donnees); + //return; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsosadherent/", + type : 'post', + data: donnees, + error: function(errorData){ + alert("Erreur : "+errorData); + }, + success: function(data) { + //alert("Success : "+data); + $("#div_patienter").html(''); + $('#div_consos_adherent').html(data); + $('#div_consos_adherent').modal("show"); + }, + complete: function() { + + } + }); +} + + +function consosbeneficiaire(){ + //\u00ea, \u00e9 + + var idBeneficiaire = $('#idBeneficiaire').val(); + + $("#div_patienter").html('
' + '' + '
'); + + //Ajaxlimiteaddadherent + donnees = 'idBeneficiaire='+idBeneficiaire; + + //alert(donnees); + //return; + $.ajax({ + url: $("#racineWeb").val()+"Ajaxconsosbeneficiaire/", + type : 'post', + data: donnees, + error: function(errorData){ + alert("Erreur : "+errorData); + }, + success: function(data) { + //alert("Success : "+data); + $("#div_patienter").html(''); + $('#div_consos_beneficiaire').html(data); + $('#div_consos_beneficiaire').modal("show"); + }, + complete: function() { + + } + }); +} + + +function consulter_envois_sms() +{ + donnees = ""; + donnees_retour = ""; + + date1 = $("#date1").val(); + date2 = $("#date2").val(); + + donnees += 'date1=' + date1; + donnees += '&date2=' + date2; + + $("#div_sms").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdestinatairesms/consulter/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_sms").html(donnees_retour); + $("#nbligne").val("Lignes : "+$("#nbligne_info").val()); + } + }); +} + +function consulter_envois_whatsapp() +{ + donnees = ""; + donnees_retour = ""; + + date1 = $("#date1").val(); + date2 = $("#date2").val(); + + donnees += 'date1=' + date1; + donnees += '&date2=' + date2; + + $("#div_sms").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdestinatairesms/consulterwhatsapp/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_sms").html(donnees_retour); + $("#nbligne").val("Lignes : "+$("#nbligne_info").val()); + } + }); +} + +function consulter_envois_whatsapp_en_cours() +{ + donnees = ""; + donnees_retour = ""; + + date1 = $("#date1").val(); + date2 = $("#date2").val(); + + donnees += 'date1=' + date1; + donnees += '&date2=' + date2; + + $("#div_sms").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdestinatairesms/consulterwhatsappencours/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + donnees_retour = data; + }, + complete: function() { + $("#div_sms").html(donnees_retour); + $("#nbligne").val("Lignes : "+$("#nbligne_info").val()); + } + }); +} + +function mettre_sms_commun_attente_assureur() +{ + textMessage = $("#textMessageCommun").val(); + textMessage = textMessage.trim(); + + if (textMessage<=" ") + { + v_msg="Veuillez saisir le message!"; + v_msgEng="Please enter the message!"; + alert_ebene(v_msg, v_msgEng); + + $("#textMessageCommun").focus(); + return; + } + + donnees = "textMessage="+textMessage; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdestinatairesms/mettrewhatsappattenteassureur/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + // $('#div_test_gabarit').html(data); + }, + complete: function() { + v_msg="Messages mis dans la queue des envois!"; + v_msgEng="Messages in the queue!"; + alert_ebene(v_msg, v_msgEng); + re_init_envoi_sms(); + } + }); +} + +function mettre_sms_commun_attente_prestataire() +{ + codePrestataire = $("#codePrestataire").val(); + + if (codePrestataire<="0") + { + v_msg="Veuillez sélectionner un prestataire!"; + v_msgEng="Please select an insured!"; + alert_ebene(v_msg, v_msgEng); + $("#codePrestataire").focus(); + + return; + } + + textMessage = $("#textMessageCommun").val(); + textMessage = textMessage.trim(); + + if (textMessage<=" ") + { + v_msg="Veuillez saisir le message!"; + v_msgEng="Please enter the message!"; + alert_ebene(v_msg, v_msgEng); + + $("#textMessageCommun").focus(); + return; + } + + donnees = "textMessage="+textMessage; + donnees += "&codePrestataire="+codePrestataire; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdestinatairesms/mettrewhatsappattenteprestataire/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + // $('#div_test_gabarit').html(data); + }, + complete: function() { + v_msg="Messages mis dans la queue des envois!"; + v_msgEng="Messages in the queue!"; + alert_ebene(v_msg, v_msgEng); + re_init_envoi_sms(); + } + }); +} + +function mettre_sms_commun_attente_tous() +{ + codePrestataire = $("#codePrestataire").val(); + + if (codePrestataire<="0") + { + v_msg="Veuillez sélectionner un prestataire!"; + v_msgEng="Please select an insured!"; + alert_ebene(v_msg, v_msgEng); + $("#codePrestataire").focus(); + + return; + } + + textMessage = $("#textMessageCommun").val(); + textMessage = textMessage.trim(); + + if (textMessage<=" ") + { + v_msg="Veuillez saisir le message!"; + v_msgEng="Please enter the message!"; + alert_ebene(v_msg, v_msgEng); + + $("#textMessageCommun").focus(); + return; + } + + donnees = "textMessage="+textMessage; + donnees += "&codePrestataire="+codePrestataire; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdestinatairesms/mettrewhatsappattenteassureurprestataire/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + // $('#div_test_gabarit').html(data); + }, + complete: function() { + v_msg="Messages mis dans la queue des envois!"; + v_msgEng="Messages in the queue!"; + alert_ebene(v_msg, v_msgEng); + re_init_envoi_sms(); + } + }); +} + +function re_init_envoi_sms() +{ + window.location.assign($("#racineWeb" ).val()+"Envoisms/"); +} + +function lienparente(){ + + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + + donnees = "numeroBeneficiaire="+numeroBeneficiaire; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxlienparente/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + $('#div_lien').html(data); + }, + complete: function() { + + } + }); + +} + +function affichelisteprestataires(libelle) +{ + if(libelle!='' && libelle.length >="3") + { + var donnees = 'libelle='+ libelle; + + vLink = "Ajaxchargerlisteprestataires/"; + $.ajax({ + type: "POST", + url: $("#racineWeb").val()+vLink, + data:donnees, + beforeSend: function(){ + $("#searchInputPrestataire").css("background","#FFF url(Bootstrap/images/LoaderIcon.gif) no-repeat 165px"); + }, + success: function(data){ + $("#div_selection_prestataire").show(); + $("#div_selection_prestataire").html(data); + $("#searchInputPrestataire").css("background","#FFF"); + } + }); + }else{ + $("#div_selection_prestataire").hide(); + return false; + } +} + +function selectPrestataire(code, libelle){ + nomForm = $("#nomForm").val(); + + $("#searchInputPrestataire").val(libelle); + $("#div_selection_prestataire").hide(); + $("#codePrestataire").val(code); +} + +function estDateAnncienne(date) { + // Obtenir la date d'aujourd'hui sans l'heure + + + const aujourdHui = new Date(); + aujourdHui.setHours(0, 0, 0, 0); // Réinitialiser les heures pour une comparaison pure de dates + + // S'assurer que l'argument 'date' est un objet Date + const dateComparee = new Date(date); + dateComparee.setHours(0, 0, 0, 0); // De même, ignorer l'heure + + // Comparer les dates + return dateComparee > aujourdHui; +} + +function convertirEnFormatISO(dateStr) { + // Détection et parsing de la date selon son format + let day, month, year; + + // Format français (JJ/MM/AAAA) + const matchFr = dateStr.match(/^(\d{2})\/(\d{2})\/(\d{4})$/); + if (matchFr) { + day = matchFr[1]; + month = matchFr[2]; + year = matchFr[3]; + } + // Format anglais (MM/JJ/AAAA) + else if (dateStr.match(/^(\d{2})\/(\d{2})\/(\d{4})$/)) { + const matchEn = dateStr.match(/^(\d{2})\/(\d{2})\/(\d{4})$/); + day = matchEn[2]; + month = matchEn[1]; + year = matchEn[3]; + } + // Format ISO (AAAA-MM-JJ) - on la retourne directement + else if (dateStr.match(/^(\d{4})-(\d{2})-(\d{2})$/)) { + return dateStr; // Déjà au bon format + } + // Format non reconnu + else { + throw new Error("Format de date non reconnu"); + } + + // Validation de la date + const date = new Date(`${year}-${month}-${day}`); + if (isNaN(date.getTime())) { + throw new Error("Date invalide"); + } + + // Formatage en AAAA-MM-JJ + return `${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')}`; +} + + +function controle_date(dateSoin) +{ + + + dateSoin = convertirEnFormatISO(dateSoin) + + if(estDateAnncienne(dateSoin)) + { + v_msg="La date de soin doit être antérieure ou égale à la date du jour!"; + v_msgEng="The treatment date must be before or equal to today's date!"; + + alert_ebene(v_msg, v_msgEng); + + $("#dateConsultation").val(""); + $("#dateConsultation").focus(); + + return; + } + +} + +function formatNumerique(controle){ + controle.value = controle.value.replace(/ /g,""); + return; +} + +function formatMonetaire(controle){ + controle.value = formatCurrency(controle.value); + return; +} + +var formatCurrency = function(num){ + var str = num.toString().replace("", ""), parts = false, output = [], i = 1, formatted = null; + if(str.indexOf(".") > 0) { + parts = str.split("."); + str = parts[0]; + } + str = str.split("").reverse(); + for(var j = 0, len = str.length; j < len; j++) { + if(str[j] != " ") { + output.push(str[j]); + if(i%3 == 0 && j < (len - 1)) { + output.push(" "); + } + i++; + } + } + formatted = output.reverse().join(""); + return(formatted + ((parts) ? "." + parts[1].substr(0, 2) : "")); +}; + +function enregistrer_demande_remboursement() +{ + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + commentaires = $("#commentaires").val(); + + commentaires = commentaires.trim(); + + if (commentaires<=" ") + { + v_msg="Le commentaire est obligatoire!"; + v_msgEng="Comment is required!"; + alert_ebene(v_msg, v_msgEng); + + $("#commentaires").focus(); + return; + } + + + v_msg="Confirmez-vous l'enregistrement de votre demande?"; + v_msgEng="Do you confirm the registration of your request?"; + + confirm_ebene(v_msg, v_msgEng) + .then((isConfirmed) => { + if (isConfirmed) { + // L'utilisateur a confirmé + donnees = 'numeroBeneficiaire='+ numeroBeneficiaire+'&commentaires='+commentaires; + vLink = "Ajaxdemanderemboursement/enregistrerdemande/"; + + $.ajax({ + type: "POST", + url: $("#racineWeb").val()+vLink, + data:donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + // $('#div_test_gabarit').html(data); + + }, + complete: function() { + + actualiser_remboursement(); + } + + }); + + } else { + // L'utilisateur a annulé + console.log("Confirmation refusée"); + } + }); + +} + +function listerremboursement() +{ + + + d1 = $("#d1").val(); + d2 = $("#d2").val(); + codeEtatDemandeRemboursement = $("#codeEtatDemandeRemboursement").val(); + + donnees = 'd1='+ d1+'&d2='+d2+'&codeEtatDemandeRemboursement='+codeEtatDemandeRemboursement; + + $("#div_dossiers").html('
' + '' + '
'); + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdemanderemboursement/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + + + $('#div_dossiers').html(data); + }, + complete: function() { + + } + }); +} + +function selectionner_remboursement(idDemande) +{ + donnees = 'idDemande='+idDemande; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdemanderemboursement/selectionnerremb/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + + + + }, + complete: function() { + actualiser_remboursement(); + } + }); +} + +function actualiser_remboursement() +{ + window.location.assign($("#racineWeb" ).val()+"Remboursement/"); + +} + +function liste_contestation() +{ + window.location.assign($("#racineWeb" ).val()+"Historiquecontestation/"); + +} + + +function listerdossiercontestes() +{ + + + d1=$("#d1").val(); + d2=$("#d2").val(); + + donnees = 'd1='+d1+'&d2='+d2; + + $("#div_dossiers").html('
' + '' + '
'); + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdossierscontestes/", + type : 'post', + data: donnees, + error: function(errorData) { + // alert("Erreur : "+errorData); + }, + success: function(data) { + + + $("#div_dossiers").html(data); + }, + complete: function() { + } + }); +} + +function reactiver_contestation(numeroFeuilleMaladie) +{ + let v_msg = "Veuillez saisir le motif de la réactivation de ce dossier médical!"; + let v_msgEng = "Please enter the reason for reactivating this medical record!"; + + prompt_ebene(v_msg, v_msgEng, "", function(motif_activation) { + if (!motif_activation || motif_activation.trim() === "") { + v_msg = "Vous devez saisir un motif!"; + v_msgEng = "You have to enter a reason!"; + alert_ebene(v_msg, v_msgEng); + return; + } + + v_msg="Confirmez-vous la réactivation?"; + v_msgEng="Do you confirm reactivation?"; + + + confirm_ebene(v_msg, v_msgEng) + .then((isConfirmed) => { + if (isConfirmed) { + // L'utilisateur a confirmé + let donnees = "numeroFeuilleMaladie=" + numeroFeuilleMaladie; + donnees += "&motif=" + encodeURIComponent(motif_activation); + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdossierscontestes/reactiver/", + type : 'post', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + }, + complete: function() { + v_msg="Opération effectuée avec succès!"; + v_msgEng="Operation successfully completed"; + alert_ebene(v_msg, v_msgEng); + + liste_contestation(); + } + }); + return; + } else { + // L'utilisateur a annulé + v_msg="Opération annulée!"; + v_msgEng="Operation canceled!"; + alert_ebene(v_msg, v_msgEng); + + return; + } + }); + }); +} + +function listerrdv() +{ + + + d1 = $("#d1").val(); + d2 = $("#d2").val(); + + codeEtatRdv = $("#codeEtatRdv").val(); + + donnees = 'd1='+ d1+'&d2='+d2+'&codeEtatRdv='+codeEtatRdv; + + $("#div_dossiers").html('
' + '' + '
'); + + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdemanderdv/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + + + $('#div_dossiers').html(data); + }, + complete: function() { + + } + }); +} + +function selectionner_rdv(idDemande) +{ + donnees = 'idDemande='+idDemande; + + $.ajax({ + url: $("#racineWeb").val()+"Ajaxdemanderdv/selectionner/", + type: 'POST', + data: donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + + + + }, + complete: function() { + ouvrir_rdv(); + } + }); +} + + +function ouvrir_rdv() +{ + window.location.assign($("#racineWeb" ).val()+"Rendezvous/"); + +} + + +function fin_rdv(debut) +{ + $("#finRdv").val(debut); +} + + +function estInferieurDate(d_fin, d_debut) { + // Obtenir la date d'aujourd'hui sans l'heure + + + const debut = new Date(d_debut); + debut.setHours(0, 0, 0, 0); // Réinitialiser les heures pour une comparaison pure de dates + + // S'assurer que l'argument 'date' est un objet Date + const fin = new Date(d_fin); + fin.setHours(0, 0, 0, 0); // De même, ignorer l'heure + + // Comparer les dates + return debut > fin ; +} + +function controle_date_fin_rdv(dateFin) +{ + + debutRdv = $("#debutRdv").val(); + dateDebut = convertirEnFormatISO(debutRdv); + + dateFin = convertirEnFormatISO(dateFin) + + if(estInferieurDate(dateFin, dateDebut)) + { + v_msg="La date de fin doit être supérieure ou égale à la date de début!"; + v_msgEng="The end date must be greater than or equal to the start date!"; + + alert_ebene(v_msg, v_msgEng); + + $("#finRdv").val(debutRdv); + $("#finRdv").focus(); + + return; + } + +} + + +function enregistrer_rdv() +{ + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + debutRdv = $("#debutRdv").val(); + finRdv = $("#finRdv").val(); + codePrestataire = $("#codePrestataire").val(); + codeSpecialite = $("#codeSpecialite").val(); + + if (numeroBeneficiaire<=" ") + { + v_msg="Sélectionner un bénéficiaire!"; + v_msgEng="Select a beneficiary!"; + alert_ebene(v_msg, v_msgEng); + + $("#numeroBeneficiaire").focus(); + return; + } + + if (debutRdv<=" ") + { + v_msg="La date de début de rendez-vous est obligatoire!"; + v_msgEng="The appointment start date is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#debutRdv").focus(); + return; + } + + if (finRdv<=" ") + { + v_msg="La motif de fin de rendez-vous est obligatoire!"; + v_msgEng="The end date of the appointment is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#finRdv").focus(); + return; + } + + if (codePrestataire<=" ") + { + v_msg="Sélectionner un prestataire pour le rendez-vous!"; + v_msgEng="Select a provider for the appointment!"; + alert_ebene(v_msg, v_msgEng); + + $("#searchInputPrestataire").focus(); + return; + } + + if (codeSpecialite<=" ") + { + v_msg="La spécialité de rendez-vous est obligatoire!"; + v_msgEng="The appointment specialty is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#codeSpecialite").focus(); + return; + } + + motifRdv = $("#motifRdv").val(); + motifRdv = motifRdv.trim(); + + if (motifRdv<=" ") + { + v_msg="Le motif de rendez-vous est obligatoire!"; + v_msgEng="The reason for the appointment is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#motifRdv").focus(); + return; + } + + + v_msg="Confirmez-vous l'enregistrement de votre demande?"; + v_msgEng="Do you confirm the registration of your request?"; + + confirm_ebene(v_msg, v_msgEng) + .then((isConfirmed) => { + if (isConfirmed) { + // L'utilisateur a confirmé + donnees = 'numeroBeneficiaire='+ numeroBeneficiaire+'&debutRdv='+debutRdv; + donnees += '&finRdv='+finRdv+'&codePrestataire='+codePrestataire; + donnees += '&codeSpecialite='+codeSpecialite+'&motifRdv='+motifRdv; + + vLink = "Ajaxdemanderdv/enregistrer/"; + + $.ajax({ + type: "POST", + url: $("#racineWeb").val()+vLink, + data:donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + // $('#div_test_gabarit').html(data); + + }, + complete: function() { + + ouvrir_rdv(); + } + + }); + + } else { + // L'utilisateur a annulé + console.log("Confirmation refusée"); + } + }); + +} + +function modifier_rdv() +{ + numeroBeneficiaire = $("#numeroBeneficiaire").val(); + debutRdv = $("#debutRdv").val(); + finRdv = $("#finRdv").val(); + codePrestataire = $("#codePrestataire").val(); + codeSpecialite = $("#codeSpecialite").val(); + + if (numeroBeneficiaire<=" ") + { + v_msg="Sélectionner un bénéficiaire!"; + v_msgEng="Select a beneficiary!"; + alert_ebene(v_msg, v_msgEng); + + $("#numeroBeneficiaire").focus(); + return; + } + + if (debutRdv<=" ") + { + v_msg="La date de début de rendez-vous est obligatoire!"; + v_msgEng="The appointment start date is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#debutRdv").focus(); + return; + } + + if (finRdv<=" ") + { + v_msg="La motif de fin de rendez-vous est obligatoire!"; + v_msgEng="The end date of the appointment is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#finRdv").focus(); + return; + } + + if (codePrestataire<=" ") + { + v_msg="Sélectionner un prestataire pour le rendez-vous!"; + v_msgEng="Select a provider for the appointment!"; + alert_ebene(v_msg, v_msgEng); + + $("#searchInputPrestataire").focus(); + return; + } + + if (codeSpecialite<=" ") + { + v_msg="La spécialité de rendez-vous est obligatoire!"; + v_msgEng="The appointment specialty is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#codeSpecialite").focus(); + return; + } + + motifRdv = $("#motifRdv").val(); + motifRdv = motifRdv.trim(); + + if (motifRdv<=" ") + { + v_msg="Le motif de rendez-vous est obligatoire!"; + v_msgEng="The reason for the appointment is mandatory!"; + alert_ebene(v_msg, v_msgEng); + + $("#motifRdv").focus(); + return; + } + + + v_msg="Confirmez-vous la modification de votre demande?"; + v_msgEng="Do you confirm the modification of your request?"; + + confirm_ebene(v_msg, v_msgEng) + .then((isConfirmed) => { + if (isConfirmed) { + // L'utilisateur a confirmé + donnees = 'numeroBeneficiaire='+ numeroBeneficiaire+'&debutRdv='+debutRdv; + donnees += '&finRdv='+finRdv+'&codePrestataire='+codePrestataire; + donnees += '&codeSpecialite='+codeSpecialite+'&motifRdv='+motifRdv; + + vLink = "Ajaxdemanderdv/modifier/"; + + $.ajax({ + type: "POST", + url: $("#racineWeb").val()+vLink, + data:donnees, + error: function(errorData) { + }, + success: function(data) { + // alert(data); + // $('#div_test_gabarit').html(data); + + }, + complete: function() { + + historique_rdv(); + } + + }); + + } else { + // L'utilisateur a annulé + console.log("Confirmation refusée"); + } + }); + +} + +function historique_rdv() +{ + window.location.assign($("#racineWeb" ).val()+"Historiquerdv/"); + +} + +function envoyer_message() +{ + window.location.assign($("#racineWeb" ).val()+"Envoisms/"); +} diff --git a/Js_sav/html2pdf.js b/Js_sav/html2pdf.js new file mode 100755 index 0000000..f646db2 --- /dev/null +++ b/Js_sav/html2pdf.js @@ -0,0 +1,35541 @@ +/*! + * html2pdf.js v0.10.1 + * Copyright (c) 2021 Erik Koopmans + * Released under the MIT License. + */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define("html2pdf", [], factory); + else if(typeof exports === 'object') + exports["html2pdf"] = factory(); + else + root["html2pdf"] = factory(); +})(self, function() { +return /******/ (function() { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/array/from.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/array/from.js ***! + \**************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/array/from */ "./node_modules/core-js-pure/stable/array/from.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/array/is-array.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/array/is-array.js ***! + \******************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/array/is-array */ "./node_modules/core-js-pure/stable/array/is-array.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/date/now.js": +/*!************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/date/now.js ***! + \************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/date/now */ "./node_modules/core-js-pure/stable/date/now.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/bind.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/bind.js ***! + \*****************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/instance/bind */ "./node_modules/core-js-pure/stable/instance/bind.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js ***! + \*******************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/instance/concat */ "./node_modules/core-js-pure/stable/instance/concat.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/every.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/every.js ***! + \******************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/instance/every */ "./node_modules/core-js-pure/stable/instance/every.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/fill.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/fill.js ***! + \*****************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/instance/fill */ "./node_modules/core-js-pure/stable/instance/fill.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/filter.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/filter.js ***! + \*******************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/instance/filter */ "./node_modules/core-js-pure/stable/instance/filter.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/for-each.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/for-each.js ***! + \*********************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/instance/for-each */ "./node_modules/core-js-pure/stable/instance/for-each.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js ***! + \*********************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/instance/includes */ "./node_modules/core-js-pure/stable/instance/includes.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/index-of.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/index-of.js ***! + \*********************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/instance/index-of */ "./node_modules/core-js-pure/stable/instance/index-of.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/map.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/map.js ***! + \****************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/instance/map */ "./node_modules/core-js-pure/stable/instance/map.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/reduce.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/reduce.js ***! + \*******************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/instance/reduce */ "./node_modules/core-js-pure/stable/instance/reduce.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/reverse.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/reverse.js ***! + \********************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/instance/reverse */ "./node_modules/core-js-pure/stable/instance/reverse.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/slice.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/slice.js ***! + \******************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/instance/slice */ "./node_modules/core-js-pure/stable/instance/slice.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/some.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/some.js ***! + \*****************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/instance/some */ "./node_modules/core-js-pure/stable/instance/some.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/starts-with.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/starts-with.js ***! + \************************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/instance/starts-with */ "./node_modules/core-js-pure/stable/instance/starts-with.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/trim.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/trim.js ***! + \*****************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/instance/trim */ "./node_modules/core-js-pure/stable/instance/trim.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/values.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/values.js ***! + \*******************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/instance/values */ "./node_modules/core-js-pure/stable/instance/values.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/map.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/map.js ***! + \*******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/map */ "./node_modules/core-js-pure/stable/map/index.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/object/define-properties.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/object/define-properties.js ***! + \****************************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/object/define-properties */ "./node_modules/core-js-pure/stable/object/define-properties.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/object/define-property.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/object/define-property.js ***! + \**************************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/object/define-property */ "./node_modules/core-js-pure/stable/object/define-property.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor.js ***! + \**************************************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/object/get-own-property-descriptor */ "./node_modules/core-js-pure/stable/object/get-own-property-descriptor.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors.js ***! + \***************************************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/object/get-own-property-descriptors */ "./node_modules/core-js-pure/stable/object/get-own-property-descriptors.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols.js ***! + \***********************************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/object/get-own-property-symbols */ "./node_modules/core-js-pure/stable/object/get-own-property-symbols.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/object/keys.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/object/keys.js ***! + \***************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/object/keys */ "./node_modules/core-js-pure/stable/object/keys.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/parse-float.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/parse-float.js ***! + \***************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/parse-float */ "./node_modules/core-js-pure/stable/parse-float.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/parse-int.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/parse-int.js ***! + \*************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/parse-int */ "./node_modules/core-js-pure/stable/parse-int.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/promise.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/promise.js ***! + \***********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/promise */ "./node_modules/core-js-pure/stable/promise/index.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/reflect/apply.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/reflect/apply.js ***! + \*****************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/reflect/apply */ "./node_modules/core-js-pure/stable/reflect/apply.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/reflect/construct.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/reflect/construct.js ***! + \*********************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/reflect/construct */ "./node_modules/core-js-pure/stable/reflect/construct.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/reflect/delete-property.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/reflect/delete-property.js ***! + \***************************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/reflect/delete-property */ "./node_modules/core-js-pure/stable/reflect/delete-property.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/reflect/get-prototype-of.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/reflect/get-prototype-of.js ***! + \****************************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/reflect/get-prototype-of */ "./node_modules/core-js-pure/stable/reflect/get-prototype-of.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js-stable/symbol.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/symbol.js ***! + \**********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/stable/symbol */ "./node_modules/core-js-pure/stable/symbol/index.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js/array/from.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js/array/from.js ***! + \*******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/features/array/from */ "./node_modules/core-js-pure/features/array/from.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js/array/is-array.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js/array/is-array.js ***! + \***********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/features/array/is-array */ "./node_modules/core-js-pure/features/array/is-array.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js/get-iterator-method.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js/get-iterator-method.js ***! + \****************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/features/get-iterator-method */ "./node_modules/core-js-pure/features/get-iterator-method.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js/get-iterator.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js/get-iterator.js ***! + \*********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/features/get-iterator */ "./node_modules/core-js-pure/features/get-iterator.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js/instance/slice.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js/instance/slice.js ***! + \***********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/features/instance/slice */ "./node_modules/core-js-pure/features/instance/slice.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js/object/create.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js/object/create.js ***! + \**********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/features/object/create */ "./node_modules/core-js-pure/features/object/create.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js/object/define-property.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js/object/define-property.js ***! + \*******************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/features/object/define-property */ "./node_modules/core-js-pure/features/object/define-property.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js/object/get-own-property-descriptor.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js/object/get-own-property-descriptor.js ***! + \*******************************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/features/object/get-own-property-descriptor */ "./node_modules/core-js-pure/features/object/get-own-property-descriptor.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js/object/get-prototype-of.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js/object/get-prototype-of.js ***! + \********************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/features/object/get-prototype-of */ "./node_modules/core-js-pure/features/object/get-prototype-of.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js/object/set-prototype-of.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js/object/set-prototype-of.js ***! + \********************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/features/object/set-prototype-of */ "./node_modules/core-js-pure/features/object/set-prototype-of.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js/promise.js": +/*!****************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js/promise.js ***! + \****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/features/promise */ "./node_modules/core-js-pure/features/promise/index.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js/reflect/get.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js/reflect/get.js ***! + \********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/features/reflect/get */ "./node_modules/core-js-pure/features/reflect/get.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js/symbol.js": +/*!***************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js/symbol.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/features/symbol */ "./node_modules/core-js-pure/features/symbol/index.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/core-js/symbol/iterator.js": +/*!************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/core-js/symbol/iterator.js ***! + \************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! core-js-pure/features/symbol/iterator */ "./node_modules/core-js-pure/features/symbol/iterator.js"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/arrayLikeToArray.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/arrayLikeToArray.js ***! + \*****************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _arrayLikeToArray; } +/* harmony export */ }); +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + + return arr2; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/arrayWithHoles.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/arrayWithHoles.js ***! + \***************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _arrayWithHoles; } +/* harmony export */ }); +/* harmony import */ var _babel_runtime_corejs3_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/array/is-array */ "./node_modules/@babel/runtime-corejs3/core-js/array/is-array.js"); + +function _arrayWithHoles(arr) { + if (_babel_runtime_corejs3_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_0__(arr)) return arr; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/arrayWithoutHoles.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/arrayWithoutHoles.js ***! + \******************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _arrayWithoutHoles; } +/* harmony export */ }); +/* harmony import */ var _babel_runtime_corejs3_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/array/is-array */ "./node_modules/@babel/runtime-corejs3/core-js/array/is-array.js"); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@babel/runtime-corejs3/helpers/esm/arrayLikeToArray.js"); + + +function _arrayWithoutHoles(arr) { + if (_babel_runtime_corejs3_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_0__(arr)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_1__.default)(arr); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/assertThisInitialized.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/assertThisInitialized.js ***! + \**********************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _assertThisInitialized; } +/* harmony export */ }); +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/asyncToGenerator.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/asyncToGenerator.js ***! + \*****************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _asyncToGenerator; } +/* harmony export */ }); +/* harmony import */ var _babel_runtime_corejs3_core_js_promise__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/promise */ "./node_modules/@babel/runtime-corejs3/core-js/promise.js"); + + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { + try { + var info = gen[key](arg); + var value = info.value; + } catch (error) { + reject(error); + return; + } + + if (info.done) { + resolve(value); + } else { + _babel_runtime_corejs3_core_js_promise__WEBPACK_IMPORTED_MODULE_0__.resolve(value).then(_next, _throw); + } +} + +function _asyncToGenerator(fn) { + return function () { + var self = this, + args = arguments; + return new _babel_runtime_corejs3_core_js_promise__WEBPACK_IMPORTED_MODULE_0__(function (resolve, reject) { + var gen = fn.apply(self, args); + + function _next(value) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); + } + + function _throw(err) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); + } + + _next(undefined); + }); + }; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/classCallCheck.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/classCallCheck.js ***! + \***************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _classCallCheck; } +/* harmony export */ }); +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/createClass.js": +/*!************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/createClass.js ***! + \************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _createClass; } +/* harmony export */ }); +/* harmony import */ var _babel_runtime_corejs3_core_js_object_define_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/object/define-property */ "./node_modules/@babel/runtime-corejs3/core-js/object/define-property.js"); + + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + + _babel_runtime_corejs3_core_js_object_define_property__WEBPACK_IMPORTED_MODULE_0__(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/defineProperty.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/defineProperty.js ***! + \***************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _defineProperty; } +/* harmony export */ }); +/* harmony import */ var _babel_runtime_corejs3_core_js_object_define_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/object/define-property */ "./node_modules/@babel/runtime-corejs3/core-js/object/define-property.js"); + +function _defineProperty(obj, key, value) { + if (key in obj) { + _babel_runtime_corejs3_core_js_object_define_property__WEBPACK_IMPORTED_MODULE_0__(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/get.js": +/*!****************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/get.js ***! + \****************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _get; } +/* harmony export */ }); +/* harmony import */ var _babel_runtime_corejs3_core_js_reflect_get__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/reflect/get */ "./node_modules/@babel/runtime-corejs3/core-js/reflect/get.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/object/get-own-property-descriptor */ "./node_modules/@babel/runtime-corejs3/core-js/object/get-own-property-descriptor.js"); +/* harmony import */ var _superPropBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./superPropBase.js */ "./node_modules/@babel/runtime-corejs3/helpers/esm/superPropBase.js"); + + + +function _get(target, property, receiver) { + if (typeof Reflect !== "undefined" && _babel_runtime_corejs3_core_js_reflect_get__WEBPACK_IMPORTED_MODULE_0__) { + _get = _babel_runtime_corejs3_core_js_reflect_get__WEBPACK_IMPORTED_MODULE_0__; + } else { + _get = function _get(target, property, receiver) { + var base = (0,_superPropBase_js__WEBPACK_IMPORTED_MODULE_2__.default)(target, property); + if (!base) return; + + var desc = _babel_runtime_corejs3_core_js_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_1__(base, property); + + if (desc.get) { + return desc.get.call(receiver); + } + + return desc.value; + }; + } + + return _get(target, property, receiver || target); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/getPrototypeOf.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/getPrototypeOf.js ***! + \***************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _getPrototypeOf; } +/* harmony export */ }); +/* harmony import */ var _babel_runtime_corejs3_core_js_object_set_prototype_of__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/object/set-prototype-of */ "./node_modules/@babel/runtime-corejs3/core-js/object/set-prototype-of.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_object_get_prototype_of__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/object/get-prototype-of */ "./node_modules/@babel/runtime-corejs3/core-js/object/get-prototype-of.js"); + + +function _getPrototypeOf(o) { + _getPrototypeOf = _babel_runtime_corejs3_core_js_object_set_prototype_of__WEBPACK_IMPORTED_MODULE_0__ ? _babel_runtime_corejs3_core_js_object_get_prototype_of__WEBPACK_IMPORTED_MODULE_1__ : function _getPrototypeOf(o) { + return o.__proto__ || _babel_runtime_corejs3_core_js_object_get_prototype_of__WEBPACK_IMPORTED_MODULE_1__(o); + }; + return _getPrototypeOf(o); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/inherits.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/inherits.js ***! + \*********************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _inherits; } +/* harmony export */ }); +/* harmony import */ var _babel_runtime_corejs3_core_js_object_create__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/object/create */ "./node_modules/@babel/runtime-corejs3/core-js/object/create.js"); +/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime-corejs3/helpers/esm/setPrototypeOf.js"); + + +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + + subClass.prototype = _babel_runtime_corejs3_core_js_object_create__WEBPACK_IMPORTED_MODULE_0__(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_1__.default)(subClass, superClass); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/iterableToArray.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/iterableToArray.js ***! + \****************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _iterableToArray; } +/* harmony export */ }); +/* harmony import */ var _babel_runtime_corejs3_core_js_symbol__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/symbol */ "./node_modules/@babel/runtime-corejs3/core-js/symbol.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_get_iterator_method__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/get-iterator-method */ "./node_modules/@babel/runtime-corejs3/core-js/get-iterator-method.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_array_from__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/array/from */ "./node_modules/@babel/runtime-corejs3/core-js/array/from.js"); + + + +function _iterableToArray(iter) { + if (typeof _babel_runtime_corejs3_core_js_symbol__WEBPACK_IMPORTED_MODULE_0__ !== "undefined" && _babel_runtime_corejs3_core_js_get_iterator_method__WEBPACK_IMPORTED_MODULE_1__(iter) != null || iter["@@iterator"] != null) return _babel_runtime_corejs3_core_js_array_from__WEBPACK_IMPORTED_MODULE_2__(iter); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/iterableToArrayLimit.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/iterableToArrayLimit.js ***! + \*********************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _iterableToArrayLimit; } +/* harmony export */ }); +/* harmony import */ var _babel_runtime_corejs3_core_js_symbol__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/symbol */ "./node_modules/@babel/runtime-corejs3/core-js/symbol.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_get_iterator_method__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/get-iterator-method */ "./node_modules/@babel/runtime-corejs3/core-js/get-iterator-method.js"); + + +function _iterableToArrayLimit(arr, i) { + var _i = arr == null ? null : typeof _babel_runtime_corejs3_core_js_symbol__WEBPACK_IMPORTED_MODULE_0__ !== "undefined" && _babel_runtime_corejs3_core_js_get_iterator_method__WEBPACK_IMPORTED_MODULE_1__(arr) || arr["@@iterator"]; + + if (_i == null) return; + var _arr = []; + var _n = true; + var _d = false; + + var _s, _e; + + try { + for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/nonIterableRest.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/nonIterableRest.js ***! + \****************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _nonIterableRest; } +/* harmony export */ }); +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/nonIterableSpread.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/nonIterableSpread.js ***! + \******************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _nonIterableSpread; } +/* harmony export */ }); +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn.js ***! + \**************************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _possibleConstructorReturn; } +/* harmony export */ }); +/* harmony import */ var _babel_runtime_corejs3_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/typeof */ "./node_modules/@babel/runtime-corejs3/helpers/esm/typeof.js"); +/* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ "./node_modules/@babel/runtime-corejs3/helpers/esm/assertThisInitialized.js"); + + +function _possibleConstructorReturn(self, call) { + if (call && ((0,_babel_runtime_corejs3_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__.default)(call) === "object" || typeof call === "function")) { + return call; + } + + return (0,_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__.default)(self); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/setPrototypeOf.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/setPrototypeOf.js ***! + \***************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _setPrototypeOf; } +/* harmony export */ }); +/* harmony import */ var _babel_runtime_corejs3_core_js_object_set_prototype_of__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/object/set-prototype-of */ "./node_modules/@babel/runtime-corejs3/core-js/object/set-prototype-of.js"); + +function _setPrototypeOf(o, p) { + _setPrototypeOf = _babel_runtime_corejs3_core_js_object_set_prototype_of__WEBPACK_IMPORTED_MODULE_0__ || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/slicedToArray.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/slicedToArray.js ***! + \**************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _slicedToArray; } +/* harmony export */ }); +/* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ "./node_modules/@babel/runtime-corejs3/helpers/esm/arrayWithHoles.js"); +/* harmony import */ var _iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArrayLimit.js */ "./node_modules/@babel/runtime-corejs3/helpers/esm/iterableToArrayLimit.js"); +/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@babel/runtime-corejs3/helpers/esm/unsupportedIterableToArray.js"); +/* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ "./node_modules/@babel/runtime-corejs3/helpers/esm/nonIterableRest.js"); + + + + +function _slicedToArray(arr, i) { + return (0,_arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__.default)(arr) || (0,_iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__.default)(arr, i) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__.default)(arr, i) || (0,_nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__.default)(); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/superPropBase.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/superPropBase.js ***! + \**************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _superPropBase; } +/* harmony export */ }); +/* harmony import */ var _getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getPrototypeOf.js */ "./node_modules/@babel/runtime-corejs3/helpers/esm/getPrototypeOf.js"); + +function _superPropBase(object, property) { + while (!Object.prototype.hasOwnProperty.call(object, property)) { + object = (0,_getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__.default)(object); + if (object === null) break; + } + + return object; +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/toConsumableArray.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/toConsumableArray.js ***! + \******************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _toConsumableArray; } +/* harmony export */ }); +/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ "./node_modules/@babel/runtime-corejs3/helpers/esm/arrayWithoutHoles.js"); +/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "./node_modules/@babel/runtime-corejs3/helpers/esm/iterableToArray.js"); +/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@babel/runtime-corejs3/helpers/esm/unsupportedIterableToArray.js"); +/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ "./node_modules/@babel/runtime-corejs3/helpers/esm/nonIterableSpread.js"); + + + + +function _toConsumableArray(arr) { + return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__.default)(arr) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__.default)(arr) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__.default)(arr) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__.default)(); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/typeof.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/typeof.js ***! + \*******************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _typeof; } +/* harmony export */ }); +/* harmony import */ var _babel_runtime_corejs3_core_js_symbol__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/symbol */ "./node_modules/@babel/runtime-corejs3/core-js/symbol.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_symbol_iterator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/symbol/iterator */ "./node_modules/@babel/runtime-corejs3/core-js/symbol/iterator.js"); + + +function _typeof(obj) { + "@babel/helpers - typeof"; + + if (typeof _babel_runtime_corejs3_core_js_symbol__WEBPACK_IMPORTED_MODULE_0__ === "function" && typeof _babel_runtime_corejs3_core_js_symbol_iterator__WEBPACK_IMPORTED_MODULE_1__ === "symbol") { + _typeof = function _typeof(obj) { + return typeof obj; + }; + } else { + _typeof = function _typeof(obj) { + return obj && typeof _babel_runtime_corejs3_core_js_symbol__WEBPACK_IMPORTED_MODULE_0__ === "function" && obj.constructor === _babel_runtime_corejs3_core_js_symbol__WEBPACK_IMPORTED_MODULE_0__ && obj !== _babel_runtime_corejs3_core_js_symbol__WEBPACK_IMPORTED_MODULE_0__.prototype ? "symbol" : typeof obj; + }; + } + + return _typeof(obj); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/helpers/esm/unsupportedIterableToArray.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/helpers/esm/unsupportedIterableToArray.js ***! + \***************************************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ _unsupportedIterableToArray; } +/* harmony export */ }); +/* harmony import */ var _babel_runtime_corejs3_core_js_instance_slice__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/instance/slice */ "./node_modules/@babel/runtime-corejs3/core-js/instance/slice.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_array_from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/array/from */ "./node_modules/@babel/runtime-corejs3/core-js/array/from.js"); +/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@babel/runtime-corejs3/helpers/esm/arrayLikeToArray.js"); + + + +function _unsupportedIterableToArray(o, minLen) { + var _context; + + if (!o) return; + if (typeof o === "string") return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_2__.default)(o, minLen); + + var n = _babel_runtime_corejs3_core_js_instance_slice__WEBPACK_IMPORTED_MODULE_0__(_context = Object.prototype.toString.call(o)).call(_context, 8, -1); + + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return _babel_runtime_corejs3_core_js_array_from__WEBPACK_IMPORTED_MODULE_1__(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_2__.default)(o, minLen); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime-corejs3/regenerator/index.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/runtime-corejs3/regenerator/index.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! regenerator-runtime */ "./node_modules/regenerator-runtime/runtime.js"); + + +/***/ }), + +/***/ "./src/plugin/hyperlinks.js": +/*!**********************************!*\ + !*** ./src/plugin/hyperlinks.js ***! + \**********************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js"); +/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_string_link_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.link.js */ "./node_modules/core-js/modules/es.string.link.js"); +/* harmony import */ var core_js_modules_es_string_link_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_link_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _worker_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../worker.js */ "./src/worker.js"); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils.js */ "./src/utils.js"); + + + + // Add hyperlink functionality to the PDF creation. +// Main link array, and refs to original functions. + +var linkInfo = []; +var orig = { + toContainer: _worker_js__WEBPACK_IMPORTED_MODULE_2__.default.prototype.toContainer, + toPdf: _worker_js__WEBPACK_IMPORTED_MODULE_2__.default.prototype.toPdf +}; + +_worker_js__WEBPACK_IMPORTED_MODULE_2__.default.prototype.toContainer = function toContainer() { + return orig.toContainer.call(this).then(function toContainer_hyperlink() { + // Retrieve hyperlink info if the option is enabled. + if (this.opt.enableLinks) { + // Find all anchor tags and get the container's bounds for reference. + var container = this.prop.container; + var links = container.querySelectorAll('a'); + var containerRect = (0,_utils_js__WEBPACK_IMPORTED_MODULE_3__.unitConvert)(container.getBoundingClientRect(), this.prop.pageSize.k); + linkInfo = []; // Loop through each anchor tag. + + Array.prototype.forEach.call(links, function (link) { + // Treat each client rect as a separate link (for text-wrapping). + var clientRects = link.getClientRects(); + + for (var i = 0; i < clientRects.length; i++) { + var clientRect = (0,_utils_js__WEBPACK_IMPORTED_MODULE_3__.unitConvert)(clientRects[i], this.prop.pageSize.k); + clientRect.left -= containerRect.left; + clientRect.top -= containerRect.top; + var page = Math.floor(clientRect.top / this.prop.pageSize.inner.height) + 1; + var top = this.opt.margin[0] + clientRect.top % this.prop.pageSize.inner.height; + var left = this.opt.margin[1] + clientRect.left; + linkInfo.push({ + page: page, + top: top, + left: left, + clientRect: clientRect, + link: link + }); + } + }, this); + } + }); +}; + +_worker_js__WEBPACK_IMPORTED_MODULE_2__.default.prototype.toPdf = function toPdf() { + return orig.toPdf.call(this).then(function toPdf_hyperlink() { + // Add hyperlinks if the option is enabled. + if (this.opt.enableLinks) { + // Attach each anchor tag based on info from toContainer(). + linkInfo.forEach(function (l) { + this.prop.pdf.setPage(l.page); + this.prop.pdf.link(l.left, l.top, l.clientRect.width, l.clientRect.height, { + url: l.link.href + }); + }, this); // Reset the active page of the PDF to the final page. + + var nPages = this.prop.pdf.internal.getNumberOfPages(); + this.prop.pdf.setPage(nPages); + } + }); +}; + +/***/ }), + +/***/ "./src/plugin/jspdf-plugin.js": +/*!************************************!*\ + !*** ./src/plugin/jspdf-plugin.js ***! + \************************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js"); +/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js"); +/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js"); +/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ "./node_modules/core-js/modules/es.symbol.iterator.js"); +/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ "./node_modules/core-js/modules/es.array.iterator.js"); +/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js"); +/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ "./node_modules/core-js/modules/web.dom-collections.iterator.js"); +/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var jspdf__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! jspdf */ "./node_modules/jspdf/dist/jspdf.es.min.js"); + + + + + + + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +// Import dependencies. + // Get dimensions of a PDF page, as determined by jsPDF. + +jspdf__WEBPACK_IMPORTED_MODULE_7__.jsPDF.getPageSize = function (orientation, unit, format) { + // Decode options object + if (_typeof(orientation) === 'object') { + var options = orientation; + orientation = options.orientation; + unit = options.unit || unit; + format = options.format || format; + } // Default options + + + unit = unit || 'mm'; + format = format || 'a4'; + orientation = ('' + (orientation || 'P')).toLowerCase(); + var format_as_string = ('' + format).toLowerCase(); // Size in pt of various paper formats + + var pageFormats = { + 'a0': [2383.94, 3370.39], + 'a1': [1683.78, 2383.94], + 'a2': [1190.55, 1683.78], + 'a3': [841.89, 1190.55], + 'a4': [595.28, 841.89], + 'a5': [419.53, 595.28], + 'a6': [297.64, 419.53], + 'a7': [209.76, 297.64], + 'a8': [147.40, 209.76], + 'a9': [104.88, 147.40], + 'a10': [73.70, 104.88], + 'b0': [2834.65, 4008.19], + 'b1': [2004.09, 2834.65], + 'b2': [1417.32, 2004.09], + 'b3': [1000.63, 1417.32], + 'b4': [708.66, 1000.63], + 'b5': [498.90, 708.66], + 'b6': [354.33, 498.90], + 'b7': [249.45, 354.33], + 'b8': [175.75, 249.45], + 'b9': [124.72, 175.75], + 'b10': [87.87, 124.72], + 'c0': [2599.37, 3676.54], + 'c1': [1836.85, 2599.37], + 'c2': [1298.27, 1836.85], + 'c3': [918.43, 1298.27], + 'c4': [649.13, 918.43], + 'c5': [459.21, 649.13], + 'c6': [323.15, 459.21], + 'c7': [229.61, 323.15], + 'c8': [161.57, 229.61], + 'c9': [113.39, 161.57], + 'c10': [79.37, 113.39], + 'dl': [311.81, 623.62], + 'letter': [612, 792], + 'government-letter': [576, 756], + 'legal': [612, 1008], + 'junior-legal': [576, 360], + 'ledger': [1224, 792], + 'tabloid': [792, 1224], + 'credit-card': [153, 243] + }; // Unit conversion + + switch (unit) { + case 'pt': + var k = 1; + break; + + case 'mm': + var k = 72 / 25.4; + break; + + case 'cm': + var k = 72 / 2.54; + break; + + case 'in': + var k = 72; + break; + + case 'px': + var k = 72 / 96; + break; + + case 'pc': + var k = 12; + break; + + case 'em': + var k = 12; + break; + + case 'ex': + var k = 6; + break; + + default: + throw 'Invalid unit: ' + unit; + } // Dimensions are stored as user units and converted to points on output + + + if (pageFormats.hasOwnProperty(format_as_string)) { + var pageHeight = pageFormats[format_as_string][1] / k; + var pageWidth = pageFormats[format_as_string][0] / k; + } else { + try { + var pageHeight = format[1]; + var pageWidth = format[0]; + } catch (err) { + throw new Error('Invalid format: ' + format); + } + } // Handle page orientation + + + if (orientation === 'p' || orientation === 'portrait') { + orientation = 'p'; + + if (pageWidth > pageHeight) { + var tmp = pageWidth; + pageWidth = pageHeight; + pageHeight = tmp; + } + } else if (orientation === 'l' || orientation === 'landscape') { + orientation = 'l'; + + if (pageHeight > pageWidth) { + var tmp = pageWidth; + pageWidth = pageHeight; + pageHeight = tmp; + } + } else { + throw 'Invalid orientation: ' + orientation; + } // Return information (k is the unit conversion ratio from pts) + + + var info = { + 'width': pageWidth, + 'height': pageHeight, + 'unit': unit, + 'k': k + }; + return info; +}; + +/* harmony default export */ __webpack_exports__["default"] = (jspdf__WEBPACK_IMPORTED_MODULE_7__.jsPDF); + +/***/ }), + +/***/ "./src/plugin/pagebreaks.js": +/*!**********************************!*\ + !*** ./src/plugin/pagebreaks.js ***! + \**********************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js"); +/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js"); +/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ "./node_modules/core-js/modules/es.array.join.js"); +/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js"); +/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ "./node_modules/core-js/modules/es.object.keys.js"); +/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _worker_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../worker.js */ "./src/worker.js"); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils.js */ "./src/utils.js"); + + + + + + + +/* Pagebreak plugin: + + Adds page-break functionality to the html2pdf library. Page-breaks can be + enabled by CSS styles, set on individual elements using selectors, or + avoided from breaking inside all elements. + + Options on the `opt.pagebreak` object: + + mode: String or array of strings: 'avoid-all', 'css', and/or 'legacy' + Default: ['css', 'legacy'] + + before: String or array of CSS selectors for which to add page-breaks + before each element. Can be a specific element with an ID + ('#myID'), all elements of a type (e.g. 'img'), all of a class + ('.myClass'), or even '*' to match every element. + + after: Like 'before', but adds a page-break immediately after the element. + + avoid: Like 'before', but avoids page-breaks on these elements. You can + enable this feature on every element using the 'avoid-all' mode. +*/ +// Refs to original functions. + +var orig = { + toContainer: _worker_js__WEBPACK_IMPORTED_MODULE_5__.default.prototype.toContainer +}; // Add pagebreak default options to the Worker template. + +_worker_js__WEBPACK_IMPORTED_MODULE_5__.default.template.opt.pagebreak = { + mode: ['css', 'legacy'], + before: [], + after: [], + avoid: [] +}; + +_worker_js__WEBPACK_IMPORTED_MODULE_5__.default.prototype.toContainer = function toContainer() { + return orig.toContainer.call(this).then(function toContainer_pagebreak() { + // Setup root element and inner page height. + var root = this.prop.container; + var pxPageHeight = this.prop.pageSize.inner.px.height; // Check all requested modes. + + var modeSrc = [].concat(this.opt.pagebreak.mode); + var mode = { + avoidAll: modeSrc.indexOf('avoid-all') !== -1, + css: modeSrc.indexOf('css') !== -1, + legacy: modeSrc.indexOf('legacy') !== -1 + }; // Get arrays of all explicitly requested elements. + + var select = {}; + var self = this; + ['before', 'after', 'avoid'].forEach(function (key) { + var all = mode.avoidAll && key === 'avoid'; + select[key] = all ? [] : [].concat(self.opt.pagebreak[key] || []); + + if (select[key].length > 0) { + select[key] = Array.prototype.slice.call(root.querySelectorAll(select[key].join(', '))); + } + }); // Get all legacy page-break elements. + + var legacyEls = root.querySelectorAll('.html2pdf__page-break'); + legacyEls = Array.prototype.slice.call(legacyEls); // Loop through all elements. + + var els = root.querySelectorAll('*'); + Array.prototype.forEach.call(els, function pagebreak_loop(el) { + // Setup pagebreak rules based on legacy and avoidAll modes. + var rules = { + before: false, + after: mode.legacy && legacyEls.indexOf(el) !== -1, + avoid: mode.avoidAll + }; // Add rules for css mode. + + if (mode.css) { + // TODO: Check if this is valid with iFrames. + var style = window.getComputedStyle(el); // TODO: Handle 'left' and 'right' correctly. + // TODO: Add support for 'avoid' on breakBefore/After. + + var breakOpt = ['always', 'page', 'left', 'right']; + var avoidOpt = ['avoid', 'avoid-page']; + rules = { + before: rules.before || breakOpt.indexOf(style.breakBefore || style.pageBreakBefore) !== -1, + after: rules.after || breakOpt.indexOf(style.breakAfter || style.pageBreakAfter) !== -1, + avoid: rules.avoid || avoidOpt.indexOf(style.breakInside || style.pageBreakInside) !== -1 + }; + } // Add rules for explicit requests. + + + Object.keys(rules).forEach(function (key) { + rules[key] = rules[key] || select[key].indexOf(el) !== -1; + }); // Get element position on the screen. + // TODO: Subtract the top of the container from clientRect.top/bottom? + + var clientRect = el.getBoundingClientRect(); // Avoid: Check if a break happens mid-element. + + if (rules.avoid && !rules.before) { + var startPage = Math.floor(clientRect.top / pxPageHeight); + var endPage = Math.floor(clientRect.bottom / pxPageHeight); + var nPages = Math.abs(clientRect.bottom - clientRect.top) / pxPageHeight; // Turn on rules.before if the el is broken and is at most one page long. + + if (endPage !== startPage && nPages <= 1) { + rules.before = true; + } + } // Before: Create a padding div to push the element to the next page. + + + if (rules.before) { + var pad = (0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.createElement)('div', { + style: { + display: 'block', + height: pxPageHeight - clientRect.top % pxPageHeight + 'px' + } + }); + el.parentNode.insertBefore(pad, el); + } // After: Create a padding div to fill the remaining page. + + + if (rules.after) { + var pad = (0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.createElement)('div', { + style: { + display: 'block', + height: pxPageHeight - clientRect.bottom % pxPageHeight + 'px' + } + }); + el.parentNode.insertBefore(pad, el.nextSibling); + } + }); + }); +}; + +/***/ }), + +/***/ "./src/utils.js": +/*!**********************!*\ + !*** ./src/utils.js ***! + \**********************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "objType": function() { return /* binding */ objType; }, +/* harmony export */ "createElement": function() { return /* binding */ createElement; }, +/* harmony export */ "cloneNode": function() { return /* binding */ cloneNode; }, +/* harmony export */ "unitConvert": function() { return /* binding */ unitConvert; }, +/* harmony export */ "toPx": function() { return /* binding */ toPx; } +/* harmony export */ }); +/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ "./node_modules/core-js/modules/es.number.constructor.js"); +/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js"); +/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js"); +/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js"); +/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ "./node_modules/core-js/modules/es.symbol.iterator.js"); +/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ "./node_modules/core-js/modules/es.array.iterator.js"); +/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js"); +/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ "./node_modules/core-js/modules/web.dom-collections.iterator.js"); +/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_7__); + + + + + + + + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +// Determine the type of a variable/object. +var objType = function objType(obj) { + var type = _typeof(obj); + + if (type === 'undefined') return 'undefined';else if (type === 'string' || obj instanceof String) return 'string';else if (type === 'number' || obj instanceof Number) return 'number';else if (type === 'function' || obj instanceof Function) return 'function';else if (!!obj && obj.constructor === Array) return 'array';else if (obj && obj.nodeType === 1) return 'element';else if (type === 'object') return 'object';else return 'unknown'; +}; // Create an HTML element with optional className, innerHTML, and style. + +var createElement = function createElement(tagName, opt) { + var el = document.createElement(tagName); + if (opt.className) el.className = opt.className; + + if (opt.innerHTML) { + el.innerHTML = opt.innerHTML; + var scripts = el.getElementsByTagName('script'); + + for (var i = scripts.length; i-- > 0; null) { + scripts[i].parentNode.removeChild(scripts[i]); + } + } + + for (var key in opt.style) { + el.style[key] = opt.style[key]; + } + + return el; +}; // Deep-clone a node and preserve contents/properties. + +var cloneNode = function cloneNode(node, javascriptEnabled) { + // Recursively clone the node. + var clone = node.nodeType === 3 ? document.createTextNode(node.nodeValue) : node.cloneNode(false); + + for (var child = node.firstChild; child; child = child.nextSibling) { + if (javascriptEnabled === true || child.nodeType !== 1 || child.nodeName !== 'SCRIPT') { + clone.appendChild(cloneNode(child, javascriptEnabled)); + } + } + + if (node.nodeType === 1) { + // Preserve contents/properties of special nodes. + if (node.nodeName === 'CANVAS') { + clone.width = node.width; + clone.height = node.height; + clone.getContext('2d').drawImage(node, 0, 0); + } else if (node.nodeName === 'TEXTAREA' || node.nodeName === 'SELECT') { + clone.value = node.value; + } // Preserve the node's scroll position when it loads. + + + clone.addEventListener('load', function () { + clone.scrollTop = node.scrollTop; + clone.scrollLeft = node.scrollLeft; + }, true); + } // Return the cloned node. + + + return clone; +}; // Convert units from px using the conversion value 'k' from jsPDF. + +var unitConvert = function unitConvert(obj, k) { + if (objType(obj) === 'number') { + return obj * 72 / 96 / k; + } else { + var newObj = {}; + + for (var key in obj) { + newObj[key] = obj[key] * 72 / 96 / k; + } + + return newObj; + } +}; // Convert units to px using the conversion value 'k' from jsPDF. + +var toPx = function toPx(val, k) { + return Math.floor(val * k / 72 * 96); +}; + +/***/ }), + +/***/ "./src/worker.js": +/*!***********************!*\ + !*** ./src/worker.js ***! + \***********************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.assign.js */ "./node_modules/core-js/modules/es.object.assign.js"); +/* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ "./node_modules/core-js/modules/es.array.map.js"); +/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ "./node_modules/core-js/modules/es.object.keys.js"); +/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js"); +/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js"); +/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ "./node_modules/core-js/modules/es.regexp.to-string.js"); +/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ "./node_modules/core-js/modules/es.function.name.js"); +/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js"); +/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var jspdf__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! jspdf */ "./node_modules/jspdf/dist/jspdf.es.min.js"); +/* harmony import */ var html2canvas__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! html2canvas */ "./node_modules/html2canvas/dist/html2canvas.js"); +/* harmony import */ var html2canvas__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(html2canvas__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils.js */ "./src/utils.js"); +/* harmony import */ var es6_promise__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! es6-promise */ "./node_modules/es6-promise/dist/es6-promise.js"); +/* harmony import */ var es6_promise__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(es6_promise__WEBPACK_IMPORTED_MODULE_11__); + + + + + + + + + + + + +var Promise = (es6_promise__WEBPACK_IMPORTED_MODULE_11___default().Promise); +/* ----- CONSTRUCTOR ----- */ + +var Worker = function Worker(opt) { + // Create the root parent for the proto chain, and the starting Worker. + var root = Object.assign(Worker.convert(Promise.resolve()), JSON.parse(JSON.stringify(Worker.template))); + var self = Worker.convert(Promise.resolve(), root); // Set progress, optional settings, and return. + + self = self.setProgress(1, Worker, 1, [Worker]); + self = self.set(opt); + return self; +}; // Boilerplate for subclassing Promise. + + +Worker.prototype = Object.create(Promise.prototype); +Worker.prototype.constructor = Worker; // Converts/casts promises into Workers. + +Worker.convert = function convert(promise, inherit) { + // Uses prototypal inheritance to receive changes made to ancestors' properties. + promise.__proto__ = inherit || Worker.prototype; + return promise; +}; + +Worker.template = { + prop: { + src: null, + container: null, + overlay: null, + canvas: null, + img: null, + pdf: null, + pageSize: null + }, + progress: { + val: 0, + state: null, + n: 0, + stack: [] + }, + opt: { + filename: 'file.pdf', + margin: [0, 0, 0, 0], + image: { + type: 'jpeg', + quality: 0.95 + }, + enableLinks: true, + html2canvas: {}, + jsPDF: {} + } +}; +/* ----- FROM / TO ----- */ + +Worker.prototype.from = function from(src, type) { + function getType(src) { + switch ((0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.objType)(src)) { + case 'string': + return 'string'; + + case 'element': + return src.nodeName.toLowerCase === 'canvas' ? 'canvas' : 'element'; + + default: + return 'unknown'; + } + } + + return this.then(function from_main() { + type = type || getType(src); + + switch (type) { + case 'string': + return this.set({ + src: (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.createElement)('div', { + innerHTML: src + }) + }); + + case 'element': + return this.set({ + src: src + }); + + case 'canvas': + return this.set({ + canvas: src + }); + + case 'img': + return this.set({ + img: src + }); + + default: + return this.error('Unknown source type.'); + } + }); +}; + +Worker.prototype.to = function to(target) { + // Route the 'to' request to the appropriate method. + switch (target) { + case 'container': + return this.toContainer(); + + case 'canvas': + return this.toCanvas(); + + case 'img': + return this.toImg(); + + case 'pdf': + return this.toPdf(); + + default: + return this.error('Invalid target.'); + } +}; + +Worker.prototype.toContainer = function toContainer() { + // Set up function prerequisites. + var prereqs = [function checkSrc() { + return this.prop.src || this.error('Cannot duplicate - no source HTML.'); + }, function checkPageSize() { + return this.prop.pageSize || this.setPageSize(); + }]; + return this.thenList(prereqs).then(function toContainer_main() { + // Define the CSS styles for the container and its overlay parent. + var overlayCSS = { + position: 'fixed', + overflow: 'hidden', + zIndex: 1000, + left: 0, + right: 0, + bottom: 0, + top: 0, + backgroundColor: 'rgba(0,0,0,0.8)' + }; + var containerCSS = { + position: 'absolute', + width: this.prop.pageSize.inner.width + this.prop.pageSize.unit, + left: 0, + right: 0, + top: 0, + height: 'auto', + margin: 'auto', + backgroundColor: 'white' + }; // Set the overlay to hidden (could be changed in the future to provide a print preview). + + overlayCSS.opacity = 0; // Create and attach the elements. + + var source = (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.cloneNode)(this.prop.src, this.opt.html2canvas.javascriptEnabled); + this.prop.overlay = (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.createElement)('div', { + className: 'html2pdf__overlay', + style: overlayCSS + }); + this.prop.container = (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.createElement)('div', { + className: 'html2pdf__container', + style: containerCSS + }); + this.prop.container.appendChild(source); + this.prop.overlay.appendChild(this.prop.container); + document.body.appendChild(this.prop.overlay); + }); +}; + +Worker.prototype.toCanvas = function toCanvas() { + // Set up function prerequisites. + var prereqs = [function checkContainer() { + return document.body.contains(this.prop.container) || this.toContainer(); + }]; // Fulfill prereqs then create the canvas. + + return this.thenList(prereqs).then(function toCanvas_main() { + // Handle old-fashioned 'onrendered' argument. + var options = Object.assign({}, this.opt.html2canvas); + delete options.onrendered; + return html2canvas__WEBPACK_IMPORTED_MODULE_9__(this.prop.container, options); + }).then(function toCanvas_post(canvas) { + // Handle old-fashioned 'onrendered' argument. + var onRendered = this.opt.html2canvas.onrendered || function () {}; + + onRendered(canvas); + this.prop.canvas = canvas; + document.body.removeChild(this.prop.overlay); + }); +}; + +Worker.prototype.toImg = function toImg() { + // Set up function prerequisites. + var prereqs = [function checkCanvas() { + return this.prop.canvas || this.toCanvas(); + }]; // Fulfill prereqs then create the image. + + return this.thenList(prereqs).then(function toImg_main() { + var imgData = this.prop.canvas.toDataURL('image/' + this.opt.image.type, this.opt.image.quality); + this.prop.img = document.createElement('img'); + this.prop.img.src = imgData; + }); +}; + +Worker.prototype.toPdf = function toPdf() { + // Set up function prerequisites. + var prereqs = [function checkCanvas() { + return this.prop.canvas || this.toCanvas(); + }]; // Fulfill prereqs then create the image. + + return this.thenList(prereqs).then(function toPdf_main() { + // Create local copies of frequently used properties. + var canvas = this.prop.canvas; + var opt = this.opt; // Calculate the number of pages. + + var pxFullHeight = canvas.height; + var pxPageHeight = Math.floor(canvas.width * this.prop.pageSize.inner.ratio); + var nPages = Math.ceil(pxFullHeight / pxPageHeight); // Define pageHeight separately so it can be trimmed on the final page. + + var pageHeight = this.prop.pageSize.inner.height; // Create a one-page canvas to split up the full image. + + var pageCanvas = document.createElement('canvas'); + var pageCtx = pageCanvas.getContext('2d'); + pageCanvas.width = canvas.width; + pageCanvas.height = pxPageHeight; // Initialize the PDF. + + this.prop.pdf = this.prop.pdf || new jspdf__WEBPACK_IMPORTED_MODULE_8__.jsPDF(opt.jsPDF); + + for (var page = 0; page < nPages; page++) { + // Trim the final page to reduce file size. + if (page === nPages - 1 && pxFullHeight % pxPageHeight !== 0) { + pageCanvas.height = pxFullHeight % pxPageHeight; + pageHeight = pageCanvas.height * this.prop.pageSize.inner.width / pageCanvas.width; + } // Display the page. + + + var w = pageCanvas.width; + var h = pageCanvas.height; + pageCtx.fillStyle = 'white'; + pageCtx.fillRect(0, 0, w, h); + pageCtx.drawImage(canvas, 0, page * pxPageHeight, w, h, 0, 0, w, h); // Add the page to the PDF. + + if (page) this.prop.pdf.addPage(); + var imgData = pageCanvas.toDataURL('image/' + opt.image.type, opt.image.quality); + this.prop.pdf.addImage(imgData, opt.image.type, opt.margin[1], opt.margin[0], this.prop.pageSize.inner.width, pageHeight); + } + }); +}; +/* ----- OUTPUT / SAVE ----- */ + + +Worker.prototype.output = function output(type, options, src) { + // Redirect requests to the correct function (outputPdf / outputImg). + src = src || 'pdf'; + + if (src.toLowerCase() === 'img' || src.toLowerCase() === 'image') { + return this.outputImg(type, options); + } else { + return this.outputPdf(type, options); + } +}; + +Worker.prototype.outputPdf = function outputPdf(type, options) { + // Set up function prerequisites. + var prereqs = [function checkPdf() { + return this.prop.pdf || this.toPdf(); + }]; // Fulfill prereqs then perform the appropriate output. + + return this.thenList(prereqs).then(function outputPdf_main() { + /* Currently implemented output types: + * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992 + * save(options), arraybuffer, blob, bloburi/bloburl, + * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl + */ + return this.prop.pdf.output(type, options); + }); +}; + +Worker.prototype.outputImg = function outputImg(type, options) { + // Set up function prerequisites. + var prereqs = [function checkImg() { + return this.prop.img || this.toImg(); + }]; // Fulfill prereqs then perform the appropriate output. + + return this.thenList(prereqs).then(function outputImg_main() { + switch (type) { + case undefined: + case 'img': + return this.prop.img; + + case 'datauristring': + case 'dataurlstring': + return this.prop.img.src; + + case 'datauri': + case 'dataurl': + return document.location.href = this.prop.img.src; + + default: + throw 'Image output type "' + type + '" is not supported.'; + } + }); +}; + +Worker.prototype.save = function save(filename) { + // Set up function prerequisites. + var prereqs = [function checkPdf() { + return this.prop.pdf || this.toPdf(); + }]; // Fulfill prereqs, update the filename (if provided), and save the PDF. + + return this.thenList(prereqs).set(filename ? { + filename: filename + } : null).then(function save_main() { + this.prop.pdf.save(this.opt.filename); + }); +}; +/* ----- SET / GET ----- */ + + +Worker.prototype.set = function set(opt) { + // TODO: Implement ordered pairs? + // Silently ignore invalid or empty input. + if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.objType)(opt) !== 'object') { + return this; + } // Build an array of setter functions to queue. + + + var fns = Object.keys(opt || {}).map(function (key) { + switch (key) { + case 'margin': + return this.setMargin.bind(this, opt.margin); + + case 'jsPDF': + return function set_jsPDF() { + this.opt.jsPDF = opt.jsPDF; + return this.setPageSize(); + }; + + case 'pageSize': + return this.setPageSize.bind(this, opt.pageSize); + + default: + if (key in Worker.template.prop) { + // Set pre-defined properties in prop. + return function set_prop() { + this.prop[key] = opt[key]; + }; + } else { + // Set any other properties in opt. + return function set_opt() { + this.opt[key] = opt[key]; + }; + } + + } + }, this); // Set properties within the promise chain. + + return this.then(function set_main() { + return this.thenList(fns); + }); +}; + +Worker.prototype.get = function get(key, cbk) { + return this.then(function get_main() { + // Fetch the requested property, either as a predefined prop or in opt. + var val = key in Worker.template.prop ? this.prop[key] : this.opt[key]; + return cbk ? cbk(val) : val; + }); +}; + +Worker.prototype.setMargin = function setMargin(margin) { + return this.then(function setMargin_main() { + // Parse the margin property: [top, left, bottom, right]. + switch ((0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.objType)(margin)) { + case 'number': + margin = [margin, margin, margin, margin]; + + case 'array': + if (margin.length === 2) { + margin = [margin[0], margin[1], margin[0], margin[1]]; + } + + if (margin.length === 4) { + break; + } + + default: + return this.error('Invalid margin array.'); + } // Set the margin property, then update pageSize. + + + this.opt.margin = margin; + }).then(this.setPageSize); +}; + +Worker.prototype.setPageSize = function setPageSize(pageSize) { + return this.then(function setPageSize_main() { + // Retrieve page-size based on jsPDF settings, if not explicitly provided. + pageSize = pageSize || jspdf__WEBPACK_IMPORTED_MODULE_8__.jsPDF.getPageSize(this.opt.jsPDF); // Add 'inner' field if not present. + + if (!pageSize.hasOwnProperty('inner')) { + pageSize.inner = { + width: pageSize.width - this.opt.margin[1] - this.opt.margin[3], + height: pageSize.height - this.opt.margin[0] - this.opt.margin[2] + }; + pageSize.inner.px = { + width: (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.toPx)(pageSize.inner.width, pageSize.k), + height: (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.toPx)(pageSize.inner.height, pageSize.k) + }; + pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width; + } // Attach pageSize to this. + + + this.prop.pageSize = pageSize; + }); +}; + +Worker.prototype.setProgress = function setProgress(val, state, n, stack) { + // Immediately update all progress values. + if (val != null) this.progress.val = val; + if (state != null) this.progress.state = state; + if (n != null) this.progress.n = n; + if (stack != null) this.progress.stack = stack; + this.progress.ratio = this.progress.val / this.progress.state; // Return this for command chaining. + + return this; +}; + +Worker.prototype.updateProgress = function updateProgress(val, state, n, stack) { + // Immediately update all progress values, using setProgress. + return this.setProgress(val ? this.progress.val + val : null, state ? state : null, n ? this.progress.n + n : null, stack ? this.progress.stack.concat(stack) : null); +}; +/* ----- PROMISE MAPPING ----- */ + + +Worker.prototype.then = function then(onFulfilled, onRejected) { + // Wrap `this` for encapsulation. + var self = this; + return this.thenCore(onFulfilled, onRejected, function then_main(onFulfilled, onRejected) { + // Update progress while queuing, calling, and resolving `then`. + self.updateProgress(null, null, 1, [onFulfilled]); + return Promise.prototype.then.call(this, function then_pre(val) { + self.updateProgress(null, onFulfilled); + return val; + }).then(onFulfilled, onRejected).then(function then_post(val) { + self.updateProgress(1); + return val; + }); + }); +}; + +Worker.prototype.thenCore = function thenCore(onFulfilled, onRejected, thenBase) { + // Handle optional thenBase parameter. + thenBase = thenBase || Promise.prototype.then; // Wrap `this` for encapsulation and bind it to the promise handlers. + + var self = this; + + if (onFulfilled) { + onFulfilled = onFulfilled.bind(self); + } + + if (onRejected) { + onRejected = onRejected.bind(self); + } // Cast self into a Promise to avoid polyfills recursively defining `then`. + + + var isNative = Promise.toString().indexOf('[native code]') !== -1 && Promise.name === 'Promise'; + var selfPromise = isNative ? self : Worker.convert(Object.assign({}, self), Promise.prototype); // Return the promise, after casting it into a Worker and preserving props. + + var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected); + return Worker.convert(returnVal, self.__proto__); +}; + +Worker.prototype.thenExternal = function thenExternal(onFulfilled, onRejected) { + // Call `then` and return a standard promise (exits the Worker chain). + return Promise.prototype.then.call(this, onFulfilled, onRejected); +}; + +Worker.prototype.thenList = function thenList(fns) { + // Queue a series of promise 'factories' into the promise chain. + var self = this; + fns.forEach(function thenList_forEach(fn) { + self = self.thenCore(fn); + }); + return self; +}; + +Worker.prototype['catch'] = function (onRejected) { + // Bind `this` to the promise handler, call `catch`, and return a Worker. + if (onRejected) { + onRejected = onRejected.bind(this); + } + + var returnVal = Promise.prototype['catch'].call(this, onRejected); + return Worker.convert(returnVal, this); +}; + +Worker.prototype.catchExternal = function catchExternal(onRejected) { + // Call `catch` and return a standard promise (exits the Worker chain). + return Promise.prototype['catch'].call(this, onRejected); +}; + +Worker.prototype.error = function error(msg) { + // Throw the error in the Promise chain. + return this.then(function error_main() { + throw new Error(msg); + }); +}; +/* ----- ALIASES ----- */ + + +Worker.prototype.using = Worker.prototype.set; +Worker.prototype.saveAs = Worker.prototype.save; +Worker.prototype.export = Worker.prototype.output; +Worker.prototype.run = Worker.prototype.then; +/* ----- FINISHING ----- */ +// Expose the Worker class. + +/* harmony default export */ __webpack_exports__["default"] = (Worker); + +/***/ }), + +/***/ "./node_modules/canvg/lib/index.es.js": +/*!********************************************!*\ + !*** ./node_modules/canvg/lib/index.es.js ***! + \********************************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "AElement": function() { return /* binding */ AElement; }, +/* harmony export */ "AnimateColorElement": function() { return /* binding */ AnimateColorElement; }, +/* harmony export */ "AnimateElement": function() { return /* binding */ AnimateElement; }, +/* harmony export */ "AnimateTransformElement": function() { return /* binding */ AnimateTransformElement; }, +/* harmony export */ "BoundingBox": function() { return /* binding */ BoundingBox; }, +/* harmony export */ "CB1": function() { return /* binding */ CB1; }, +/* harmony export */ "CB2": function() { return /* binding */ CB2; }, +/* harmony export */ "CB3": function() { return /* binding */ CB3; }, +/* harmony export */ "CB4": function() { return /* binding */ CB4; }, +/* harmony export */ "Canvg": function() { return /* binding */ Canvg; }, +/* harmony export */ "CircleElement": function() { return /* binding */ CircleElement; }, +/* harmony export */ "ClipPathElement": function() { return /* binding */ ClipPathElement; }, +/* harmony export */ "DefsElement": function() { return /* binding */ DefsElement; }, +/* harmony export */ "DescElement": function() { return /* binding */ DescElement; }, +/* harmony export */ "Document": function() { return /* binding */ Document; }, +/* harmony export */ "Element": function() { return /* binding */ Element; }, +/* harmony export */ "EllipseElement": function() { return /* binding */ EllipseElement; }, +/* harmony export */ "FeColorMatrixElement": function() { return /* binding */ FeColorMatrixElement; }, +/* harmony export */ "FeCompositeElement": function() { return /* binding */ FeCompositeElement; }, +/* harmony export */ "FeDropShadowElement": function() { return /* binding */ FeDropShadowElement; }, +/* harmony export */ "FeGaussianBlurElement": function() { return /* binding */ FeGaussianBlurElement; }, +/* harmony export */ "FeMorphologyElement": function() { return /* binding */ FeMorphologyElement; }, +/* harmony export */ "FilterElement": function() { return /* binding */ FilterElement; }, +/* harmony export */ "Font": function() { return /* binding */ Font; }, +/* harmony export */ "FontElement": function() { return /* binding */ FontElement; }, +/* harmony export */ "FontFaceElement": function() { return /* binding */ FontFaceElement; }, +/* harmony export */ "GElement": function() { return /* binding */ GElement; }, +/* harmony export */ "GlyphElement": function() { return /* binding */ GlyphElement; }, +/* harmony export */ "GradientElement": function() { return /* binding */ GradientElement; }, +/* harmony export */ "ImageElement": function() { return /* binding */ ImageElement; }, +/* harmony export */ "LineElement": function() { return /* binding */ LineElement; }, +/* harmony export */ "LinearGradientElement": function() { return /* binding */ LinearGradientElement; }, +/* harmony export */ "MarkerElement": function() { return /* binding */ MarkerElement; }, +/* harmony export */ "MaskElement": function() { return /* binding */ MaskElement; }, +/* harmony export */ "Matrix": function() { return /* binding */ Matrix; }, +/* harmony export */ "MissingGlyphElement": function() { return /* binding */ MissingGlyphElement; }, +/* harmony export */ "Mouse": function() { return /* binding */ Mouse; }, +/* harmony export */ "PSEUDO_ZERO": function() { return /* binding */ PSEUDO_ZERO; }, +/* harmony export */ "Parser": function() { return /* binding */ Parser; }, +/* harmony export */ "PathElement": function() { return /* binding */ PathElement; }, +/* harmony export */ "PathParser": function() { return /* binding */ PathParser; }, +/* harmony export */ "PatternElement": function() { return /* binding */ PatternElement; }, +/* harmony export */ "Point": function() { return /* binding */ Point; }, +/* harmony export */ "PolygonElement": function() { return /* binding */ PolygonElement; }, +/* harmony export */ "PolylineElement": function() { return /* binding */ PolylineElement; }, +/* harmony export */ "Property": function() { return /* binding */ Property; }, +/* harmony export */ "QB1": function() { return /* binding */ QB1; }, +/* harmony export */ "QB2": function() { return /* binding */ QB2; }, +/* harmony export */ "QB3": function() { return /* binding */ QB3; }, +/* harmony export */ "RadialGradientElement": function() { return /* binding */ RadialGradientElement; }, +/* harmony export */ "RectElement": function() { return /* binding */ RectElement; }, +/* harmony export */ "RenderedElement": function() { return /* binding */ RenderedElement; }, +/* harmony export */ "Rotate": function() { return /* binding */ Rotate; }, +/* harmony export */ "SVGElement": function() { return /* binding */ SVGElement; }, +/* harmony export */ "SVGFontLoader": function() { return /* binding */ SVGFontLoader; }, +/* harmony export */ "Scale": function() { return /* binding */ Scale; }, +/* harmony export */ "Screen": function() { return /* binding */ Screen; }, +/* harmony export */ "Skew": function() { return /* binding */ Skew; }, +/* harmony export */ "SkewX": function() { return /* binding */ SkewX; }, +/* harmony export */ "SkewY": function() { return /* binding */ SkewY; }, +/* harmony export */ "StopElement": function() { return /* binding */ StopElement; }, +/* harmony export */ "StyleElement": function() { return /* binding */ StyleElement; }, +/* harmony export */ "SymbolElement": function() { return /* binding */ SymbolElement; }, +/* harmony export */ "TRefElement": function() { return /* binding */ TRefElement; }, +/* harmony export */ "TSpanElement": function() { return /* binding */ TSpanElement; }, +/* harmony export */ "TextElement": function() { return /* binding */ TextElement; }, +/* harmony export */ "TextPathElement": function() { return /* binding */ TextPathElement; }, +/* harmony export */ "TitleElement": function() { return /* binding */ TitleElement; }, +/* harmony export */ "Transform": function() { return /* binding */ Transform; }, +/* harmony export */ "Translate": function() { return /* binding */ Translate; }, +/* harmony export */ "UnknownElement": function() { return /* binding */ UnknownElement; }, +/* harmony export */ "UseElement": function() { return /* binding */ UseElement; }, +/* harmony export */ "ViewPort": function() { return /* binding */ ViewPort; }, +/* harmony export */ "compressSpaces": function() { return /* binding */ compressSpaces; }, +/* harmony export */ "getSelectorSpecificity": function() { return /* binding */ getSelectorSpecificity; }, +/* harmony export */ "normalizeAttributeName": function() { return /* binding */ normalizeAttributeName; }, +/* harmony export */ "normalizeColor": function() { return /* binding */ normalizeColor; }, +/* harmony export */ "parseExternalUrl": function() { return /* binding */ parseExternalUrl; }, +/* harmony export */ "presets": function() { return /* binding */ index; }, +/* harmony export */ "toNumbers": function() { return /* binding */ toNumbers; }, +/* harmony export */ "trimLeft": function() { return /* binding */ trimLeft; }, +/* harmony export */ "trimRight": function() { return /* binding */ trimRight; }, +/* harmony export */ "vectorMagnitude": function() { return /* binding */ vectorMagnitude; }, +/* harmony export */ "vectorsAngle": function() { return /* binding */ vectorsAngle; }, +/* harmony export */ "vectorsRatio": function() { return /* binding */ vectorsRatio; } +/* harmony export */ }); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_starts_with__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/starts-with */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/starts-with.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_starts_with__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_starts_with__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_parse_float__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/parse-float */ "./node_modules/@babel/runtime-corejs3/core-js-stable/parse-float.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_parse_float__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_parse_float__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/map */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/map.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/slicedToArray */ "./node_modules/@babel/runtime-corejs3/helpers/esm/slicedToArray.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_define_property__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/object/define-property */ "./node_modules/@babel/runtime-corejs3/core-js-stable/object/define-property.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_define_property__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_object_define_property__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_define_properties__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/object/define-properties */ "./node_modules/@babel/runtime-corejs3/core-js-stable/object/define-properties.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_define_properties__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_object_define_properties__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors */ "./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/for-each */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/for-each.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor */ "./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/filter */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/filter.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_get_own_property_symbols__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols */ "./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_get_own_property_symbols__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_object_get_own_property_symbols__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/object/keys */ "./node_modules/@babel/runtime-corejs3/core-js-stable/object/keys.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var _babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @babel/runtime-corejs3/regenerator */ "./node_modules/@babel/runtime-corejs3/regenerator/index.js"); +/* harmony import */ var _babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12__); +/* harmony import */ var _babel_runtime_corejs3_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/asyncToGenerator */ "./node_modules/@babel/runtime-corejs3/helpers/esm/asyncToGenerator.js"); +/* harmony import */ var _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/defineProperty */ "./node_modules/@babel/runtime-corejs3/helpers/esm/defineProperty.js"); +/* harmony import */ var _babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/classCallCheck */ "./node_modules/@babel/runtime-corejs3/helpers/esm/classCallCheck.js"); +/* harmony import */ var _babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/createClass */ "./node_modules/@babel/runtime-corejs3/helpers/esm/createClass.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/concat */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_17__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_reduce__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/reduce */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/reduce.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_reduce__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_reduce__WEBPACK_IMPORTED_MODULE_18__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_date_now__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/date/now */ "./node_modules/@babel/runtime-corejs3/core-js-stable/date/now.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_date_now__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_date_now__WEBPACK_IMPORTED_MODULE_19__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_every__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/every */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/every.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_every__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_every__WEBPACK_IMPORTED_MODULE_20__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_promise__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/promise */ "./node_modules/@babel/runtime-corejs3/core-js-stable/promise.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_promise__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_promise__WEBPACK_IMPORTED_MODULE_21__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/bind */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/bind.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_22__); +/* harmony import */ var raf__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! raf */ "./node_modules/raf/index.js"); +/* harmony import */ var raf__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(raf__WEBPACK_IMPORTED_MODULE_23__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/trim */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/trim.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_24__); +/* harmony import */ var rgbcolor__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! rgbcolor */ "./node_modules/rgbcolor/index.js"); +/* harmony import */ var rgbcolor__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(rgbcolor__WEBPACK_IMPORTED_MODULE_25__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/reflect/construct */ "./node_modules/@babel/runtime-corejs3/core-js-stable/reflect/construct.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26__); +/* harmony import */ var _babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/inherits */ "./node_modules/@babel/runtime-corejs3/helpers/esm/inherits.js"); +/* harmony import */ var _babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn.js"); +/* harmony import */ var _babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/getPrototypeOf */ "./node_modules/@babel/runtime-corejs3/helpers/esm/getPrototypeOf.js"); +/* harmony import */ var _babel_runtime_corejs3_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/toConsumableArray */ "./node_modules/@babel/runtime-corejs3/helpers/esm/toConsumableArray.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_some__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/some */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/some.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_some__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_some__WEBPACK_IMPORTED_MODULE_31__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/includes */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_32__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_array_from__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/array/from */ "./node_modules/@babel/runtime-corejs3/core-js-stable/array/from.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_array_from__WEBPACK_IMPORTED_MODULE_33___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_array_from__WEBPACK_IMPORTED_MODULE_33__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_reverse__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/reverse */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/reverse.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_reverse__WEBPACK_IMPORTED_MODULE_34___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_reverse__WEBPACK_IMPORTED_MODULE_34__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/index-of */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/index-of.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_35___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_35__); +/* harmony import */ var _babel_runtime_corejs3_helpers_get__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/get */ "./node_modules/@babel/runtime-corejs3/helpers/esm/get.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_fill__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/fill */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/fill.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_fill__WEBPACK_IMPORTED_MODULE_37___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_fill__WEBPACK_IMPORTED_MODULE_37__); +/* harmony import */ var svg_pathdata__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! svg-pathdata */ "./node_modules/svg-pathdata/lib/SVGPathData.module.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_reflect_delete_property__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/reflect/delete-property */ "./node_modules/@babel/runtime-corejs3/core-js-stable/reflect/delete-property.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_reflect_delete_property__WEBPACK_IMPORTED_MODULE_39___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_reflect_delete_property__WEBPACK_IMPORTED_MODULE_39__); +/* harmony import */ var _babel_runtime_corejs3_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/assertThisInitialized */ "./node_modules/@babel/runtime-corejs3/helpers/esm/assertThisInitialized.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_values__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/values */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/values.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_values__WEBPACK_IMPORTED_MODULE_41___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_values__WEBPACK_IMPORTED_MODULE_41__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_parse_int__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/parse-int */ "./node_modules/@babel/runtime-corejs3/core-js-stable/parse-int.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_parse_int__WEBPACK_IMPORTED_MODULE_42___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_parse_int__WEBPACK_IMPORTED_MODULE_42__); +/* harmony import */ var _babel_runtime_corejs3_core_js_get_iterator__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/get-iterator */ "./node_modules/@babel/runtime-corejs3/core-js/get-iterator.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_get_iterator__WEBPACK_IMPORTED_MODULE_43___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_get_iterator__WEBPACK_IMPORTED_MODULE_43__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_array_is_array__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/array/is-array */ "./node_modules/@babel/runtime-corejs3/core-js-stable/array/is-array.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_array_is_array__WEBPACK_IMPORTED_MODULE_44___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_array_is_array__WEBPACK_IMPORTED_MODULE_44__); +/* harmony import */ var _babel_runtime_corejs3_core_js_get_iterator_method__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js/get-iterator-method */ "./node_modules/@babel/runtime-corejs3/core-js/get-iterator-method.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_get_iterator_method__WEBPACK_IMPORTED_MODULE_45___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_get_iterator_method__WEBPACK_IMPORTED_MODULE_45__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_symbol__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/symbol */ "./node_modules/@babel/runtime-corejs3/core-js-stable/symbol.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_symbol__WEBPACK_IMPORTED_MODULE_46___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_symbol__WEBPACK_IMPORTED_MODULE_46__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_slice__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/slice */ "./node_modules/@babel/runtime-corejs3/core-js-stable/instance/slice.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_slice__WEBPACK_IMPORTED_MODULE_47___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_slice__WEBPACK_IMPORTED_MODULE_47__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_map__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/map */ "./node_modules/@babel/runtime-corejs3/core-js-stable/map.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_map__WEBPACK_IMPORTED_MODULE_48___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_map__WEBPACK_IMPORTED_MODULE_48__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_reflect_apply__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/reflect/apply */ "./node_modules/@babel/runtime-corejs3/core-js-stable/reflect/apply.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_reflect_apply__WEBPACK_IMPORTED_MODULE_49___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_reflect_apply__WEBPACK_IMPORTED_MODULE_49__); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_reflect_get_prototype_of__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/reflect/get-prototype-of */ "./node_modules/@babel/runtime-corejs3/core-js-stable/reflect/get-prototype-of.js"); +/* harmony import */ var _babel_runtime_corejs3_core_js_stable_reflect_get_prototype_of__WEBPACK_IMPORTED_MODULE_50___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_reflect_get_prototype_of__WEBPACK_IMPORTED_MODULE_50__); +/* harmony import */ var stackblur_canvas__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! stackblur-canvas */ "./node_modules/stackblur-canvas/dist/stackblur-es.js"); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +/** + * HTML-safe compress white-spaces. + * @param str - String to compress. + */ +function compressSpaces(str) { + return str.replace(/(?!\u3000)\s+/gm, ' '); +} +/** + * HTML-safe left trim. + * @param str - String to trim. + */ + +function trimLeft(str) { + return str.replace(/^[\n \t]+/, ''); +} +/** + * HTML-safe right trim. + * @param str - String to trim. + */ + +function trimRight(str) { + return str.replace(/[\n \t]+$/, ''); +} +/** + * String to numbers array. + * @param str - Numbers string. + */ + +function toNumbers(str) { + var matches = (str || '').match(/-?(\d+(?:\.\d*(?:[eE][+-]?\d+)?)?|\.\d+)(?=\D|$)/gm) || []; + return _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_2___default()(matches).call(matches, (_babel_runtime_corejs3_core_js_stable_parse_float__WEBPACK_IMPORTED_MODULE_1___default())); +} // Microsoft Edge fix + +var allUppercase = /^[A-Z-]+$/; +/** + * Normalize attribute name. + * @param name - Attribute name. + */ + +function normalizeAttributeName(name) { + if (allUppercase.test(name)) { + return name.toLowerCase(); + } + + return name; +} +/** + * Parse external URL. + * @param url - CSS url string. + */ + +function parseExternalUrl(url) { + // single quotes [2] + // v double quotes [3] + // v v no quotes [4] + // v v v + var urlMatch = url.match(/url\(('([^']+)'|"([^"]+)"|([^'"\)]+))\)/) || []; + return urlMatch[2] || urlMatch[3] || urlMatch[4]; +} +/** + * Transform floats to integers in rgb colors. + * @param color - Color to normalize. + */ + +function normalizeColor(color) { + if (!_babel_runtime_corejs3_core_js_stable_instance_starts_with__WEBPACK_IMPORTED_MODULE_0___default()(color).call(color, 'rgb')) { + return color; + } + + var rgbParts = 3; + var normalizedColor = color.replace(/\d+(\.\d+)?/g, function (num, isFloat) { + return rgbParts-- && isFloat ? String(Math.round(_babel_runtime_corejs3_core_js_stable_parse_float__WEBPACK_IMPORTED_MODULE_1___default()(num))) : num; + }); + return normalizedColor; +} + +// slightly modified version of https://github.com/keeganstreet/specificity/blob/master/specificity.js +var attributeRegex = /(\[[^\]]+\])/g; +var idRegex = /(#[^\s\+>~\.\[:]+)/g; +var classRegex = /(\.[^\s\+>~\.\[:]+)/g; +var pseudoElementRegex = /(::[^\s\+>~\.\[:]+|:first-line|:first-letter|:before|:after)/gi; +var pseudoClassWithBracketsRegex = /(:[\w-]+\([^\)]*\))/gi; +var pseudoClassRegex = /(:[^\s\+>~\.\[:]+)/g; +var elementRegex = /([^\s\+>~\.\[:]+)/g; + +function findSelectorMatch(selector, regex) { + var matches = selector.match(regex); + + if (!matches) { + return [selector, 0]; + } + + return [selector.replace(regex, ' '), matches.length]; +} +/** + * Measure selector specificity. + * @param selector - Selector to measure. + */ + + +function getSelectorSpecificity(selector) { + var specificity = [0, 0, 0]; + var currentSelector = selector.replace(/:not\(([^\)]*)\)/g, ' $1 ').replace(/{[\s\S]*/gm, ' '); + var delta = 0; + + var _findSelectorMatch = findSelectorMatch(currentSelector, attributeRegex); + + var _findSelectorMatch2 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_findSelectorMatch, 2); + + currentSelector = _findSelectorMatch2[0]; + delta = _findSelectorMatch2[1]; + specificity[1] += delta; + + var _findSelectorMatch3 = findSelectorMatch(currentSelector, idRegex); + + var _findSelectorMatch4 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_findSelectorMatch3, 2); + + currentSelector = _findSelectorMatch4[0]; + delta = _findSelectorMatch4[1]; + specificity[0] += delta; + + var _findSelectorMatch5 = findSelectorMatch(currentSelector, classRegex); + + var _findSelectorMatch6 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_findSelectorMatch5, 2); + + currentSelector = _findSelectorMatch6[0]; + delta = _findSelectorMatch6[1]; + specificity[1] += delta; + + var _findSelectorMatch7 = findSelectorMatch(currentSelector, pseudoElementRegex); + + var _findSelectorMatch8 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_findSelectorMatch7, 2); + + currentSelector = _findSelectorMatch8[0]; + delta = _findSelectorMatch8[1]; + specificity[2] += delta; + + var _findSelectorMatch9 = findSelectorMatch(currentSelector, pseudoClassWithBracketsRegex); + + var _findSelectorMatch10 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_findSelectorMatch9, 2); + + currentSelector = _findSelectorMatch10[0]; + delta = _findSelectorMatch10[1]; + specificity[1] += delta; + + var _findSelectorMatch11 = findSelectorMatch(currentSelector, pseudoClassRegex); + + var _findSelectorMatch12 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_findSelectorMatch11, 2); + + currentSelector = _findSelectorMatch12[0]; + delta = _findSelectorMatch12[1]; + specificity[1] += delta; + currentSelector = currentSelector.replace(/[\*\s\+>~]/g, ' ').replace(/[#\.]/g, ' '); + + var _findSelectorMatch13 = findSelectorMatch(currentSelector, elementRegex); + + var _findSelectorMatch14 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_findSelectorMatch13, 2); + + currentSelector = _findSelectorMatch14[0]; + delta = _findSelectorMatch14[1]; + // lgtm [js/useless-assignment-to-local] + specificity[2] += delta; + return specificity.join(''); +} + +var PSEUDO_ZERO = .00000001; +/** + * Vector magnitude. + */ + +function vectorMagnitude(v) { + return Math.sqrt(Math.pow(v[0], 2) + Math.pow(v[1], 2)); +} +/** + * Ratio between two vectors. + */ + +function vectorsRatio(u, v) { + return (u[0] * v[0] + u[1] * v[1]) / (vectorMagnitude(u) * vectorMagnitude(v)); +} +/** + * Angle between two vectors. + */ + +function vectorsAngle(u, v) { + return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vectorsRatio(u, v)); +} +function CB1(t) { + return t * t * t; +} +function CB2(t) { + return 3 * t * t * (1 - t); +} +function CB3(t) { + return 3 * t * (1 - t) * (1 - t); +} +function CB4(t) { + return (1 - t) * (1 - t) * (1 - t); +} +function QB1(t) { + return t * t; +} +function QB2(t) { + return 2 * t * (1 - t); +} +function QB3(t) { + return (1 - t) * (1 - t); +} + +var Property = /*#__PURE__*/function () { + function Property(document, name, value) { + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, Property); + + this.document = document; + this.name = name; + this.value = value; + this.isNormalizedColor = false; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(Property, [{ + key: "split", + value: function split() { + var _context, _context2; + + var separator = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' '; + var document = this.document, + name = this.name; + return _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_2___default()(_context = _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_24___default()(_context2 = compressSpaces(this.getString())).call(_context2).split(separator)).call(_context, function (value) { + return new Property(document, name, value); + }); + } + }, { + key: "hasValue", + value: function hasValue(zeroIsValue) { + var value = this.value; + return value !== null && value !== '' && (zeroIsValue || value !== 0) && typeof value !== 'undefined'; + } + }, { + key: "isString", + value: function isString(regexp) { + var value = this.value; + var result = typeof value === 'string'; + + if (!result || !regexp) { + return result; + } + + return regexp.test(value); + } + }, { + key: "isUrlDefinition", + value: function isUrlDefinition() { + return this.isString(/^url\(/); + } + }, { + key: "isPixels", + value: function isPixels() { + if (!this.hasValue()) { + return false; + } + + var asString = this.getString(); + + switch (true) { + case /px$/.test(asString): + case /^[0-9]+$/.test(asString): + return true; + + default: + return false; + } + } + }, { + key: "setValue", + value: function setValue(value) { + this.value = value; + return this; + } + }, { + key: "getValue", + value: function getValue(def) { + if (typeof def === 'undefined' || this.hasValue()) { + return this.value; + } + + return def; + } + }, { + key: "getNumber", + value: function getNumber(def) { + if (!this.hasValue()) { + if (typeof def === 'undefined') { + return 0; + } + + return _babel_runtime_corejs3_core_js_stable_parse_float__WEBPACK_IMPORTED_MODULE_1___default()(def); + } + + var value = this.value; + + var n = _babel_runtime_corejs3_core_js_stable_parse_float__WEBPACK_IMPORTED_MODULE_1___default()(value); + + if (this.isString(/%$/)) { + n = n / 100.0; + } + + return n; + } + }, { + key: "getString", + value: function getString(def) { + if (typeof def === 'undefined' || this.hasValue()) { + return typeof this.value === 'undefined' ? '' : String(this.value); + } + + return String(def); + } + }, { + key: "getColor", + value: function getColor(def) { + var color = this.getString(def); + + if (this.isNormalizedColor) { + return color; + } + + this.isNormalizedColor = true; + color = normalizeColor(color); + this.value = color; + return color; + } + }, { + key: "getDpi", + value: function getDpi() { + return 96.0; // TODO: compute? + } + }, { + key: "getRem", + value: function getRem() { + return this.document.rootEmSize; + } + }, { + key: "getEm", + value: function getEm() { + return this.document.emSize; + } + }, { + key: "getUnits", + value: function getUnits() { + return this.getString().replace(/[0-9\.\-]/g, ''); + } + }, { + key: "getPixels", + value: function getPixels(axisOrIsFontSize) { + var processPercent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + if (!this.hasValue()) { + return 0; + } + + var _ref = typeof axisOrIsFontSize === 'boolean' ? [undefined, axisOrIsFontSize] : [axisOrIsFontSize], + _ref2 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_ref, 2), + axis = _ref2[0], + isFontSize = _ref2[1]; + + var viewPort = this.document.screen.viewPort; + + switch (true) { + case this.isString(/vmin$/): + return this.getNumber() / 100.0 * Math.min(viewPort.computeSize('x'), viewPort.computeSize('y')); + + case this.isString(/vmax$/): + return this.getNumber() / 100.0 * Math.max(viewPort.computeSize('x'), viewPort.computeSize('y')); + + case this.isString(/vw$/): + return this.getNumber() / 100.0 * viewPort.computeSize('x'); + + case this.isString(/vh$/): + return this.getNumber() / 100.0 * viewPort.computeSize('y'); + + case this.isString(/rem$/): + return this.getNumber() * this.getRem(); + + case this.isString(/em$/): + return this.getNumber() * this.getEm(); + + case this.isString(/ex$/): + return this.getNumber() * this.getEm() / 2.0; + + case this.isString(/px$/): + return this.getNumber(); + + case this.isString(/pt$/): + return this.getNumber() * this.getDpi() * (1.0 / 72.0); + + case this.isString(/pc$/): + return this.getNumber() * 15; + + case this.isString(/cm$/): + return this.getNumber() * this.getDpi() / 2.54; + + case this.isString(/mm$/): + return this.getNumber() * this.getDpi() / 25.4; + + case this.isString(/in$/): + return this.getNumber() * this.getDpi(); + + case this.isString(/%$/) && isFontSize: + return this.getNumber() * this.getEm(); + + case this.isString(/%$/): + return this.getNumber() * viewPort.computeSize(axis); + + default: + { + var n = this.getNumber(); + + if (processPercent && n < 1.0) { + return n * viewPort.computeSize(axis); + } + + return n; + } + } + } + }, { + key: "getMilliseconds", + value: function getMilliseconds() { + if (!this.hasValue()) { + return 0; + } + + if (this.isString(/ms$/)) { + return this.getNumber(); + } + + return this.getNumber() * 1000; + } + }, { + key: "getRadians", + value: function getRadians() { + if (!this.hasValue()) { + return 0; + } + + switch (true) { + case this.isString(/deg$/): + return this.getNumber() * (Math.PI / 180.0); + + case this.isString(/grad$/): + return this.getNumber() * (Math.PI / 200.0); + + case this.isString(/rad$/): + return this.getNumber(); + + default: + return this.getNumber() * (Math.PI / 180.0); + } + } + }, { + key: "getDefinition", + value: function getDefinition() { + var asString = this.getString(); + var name = asString.match(/#([^\)'"]+)/); + + if (name) { + name = name[1]; + } + + if (!name) { + name = asString; + } + + return this.document.definitions[name]; + } + }, { + key: "getFillStyleDefinition", + value: function getFillStyleDefinition(element, opacity) { + var def = this.getDefinition(); + + if (!def) { + return null; + } // gradient + + + if (typeof def.createGradient === 'function') { + return def.createGradient(this.document.ctx, element, opacity); + } // pattern + + + if (typeof def.createPattern === 'function') { + if (def.getHrefAttribute().hasValue()) { + var patternTransform = def.getAttribute('patternTransform'); + def = def.getHrefAttribute().getDefinition(); + + if (patternTransform.hasValue()) { + def.getAttribute('patternTransform', true).setValue(patternTransform.value); + } + } + + return def.createPattern(this.document.ctx, element, opacity); + } + + return null; + } + }, { + key: "getTextBaseline", + value: function getTextBaseline() { + if (!this.hasValue()) { + return null; + } + + return Property.textBaselineMapping[this.getString()]; + } + }, { + key: "addOpacity", + value: function addOpacity(opacity) { + var value = this.getColor(); + var len = value.length; + var commas = 0; // Simulate old RGBColor version, which can't parse rgba. + + for (var i = 0; i < len; i++) { + if (value[i] === ',') { + commas++; + } + + if (commas === 3) { + break; + } + } + + if (opacity.hasValue() && this.isString() && commas !== 3) { + var color = new (rgbcolor__WEBPACK_IMPORTED_MODULE_25___default())(value); + + if (color.ok) { + color.alpha = opacity.getNumber(); + value = color.toRGBA(); + } + } + + return new Property(this.document, this.name, value); + } + }], [{ + key: "empty", + value: function empty(document) { + return new Property(document, 'EMPTY', ''); + } + }]); + + return Property; +}(); +Property.textBaselineMapping = { + 'baseline': 'alphabetic', + 'before-edge': 'top', + 'text-before-edge': 'top', + 'middle': 'middle', + 'central': 'middle', + 'after-edge': 'bottom', + 'text-after-edge': 'bottom', + 'ideographic': 'ideographic', + 'alphabetic': 'alphabetic', + 'hanging': 'hanging', + 'mathematical': 'alphabetic' +}; + +var ViewPort = /*#__PURE__*/function () { + function ViewPort() { + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, ViewPort); + + this.viewPorts = []; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(ViewPort, [{ + key: "clear", + value: function clear() { + this.viewPorts = []; + } + }, { + key: "setCurrent", + value: function setCurrent(width, height) { + this.viewPorts.push({ + width: width, + height: height + }); + } + }, { + key: "removeCurrent", + value: function removeCurrent() { + this.viewPorts.pop(); + } + }, { + key: "getCurrent", + value: function getCurrent() { + var viewPorts = this.viewPorts; + return viewPorts[viewPorts.length - 1]; + } + }, { + key: "computeSize", + value: function computeSize(d) { + if (typeof d === 'number') { + return d; + } + + if (d === 'x') { + return this.width; + } + + if (d === 'y') { + return this.height; + } + + return Math.sqrt(Math.pow(this.width, 2) + Math.pow(this.height, 2)) / Math.sqrt(2); + } + }, { + key: "width", + get: function get() { + return this.getCurrent().width; + } + }, { + key: "height", + get: function get() { + return this.getCurrent().height; + } + }]); + + return ViewPort; +}(); + +var Point = /*#__PURE__*/function () { + function Point(x, y) { + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, Point); + + this.x = x; + this.y = y; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(Point, [{ + key: "angleTo", + value: function angleTo(point) { + return Math.atan2(point.y - this.y, point.x - this.x); + } + }, { + key: "applyTransform", + value: function applyTransform(transform) { + var x = this.x, + y = this.y; + var xp = x * transform[0] + y * transform[2] + transform[4]; + var yp = x * transform[1] + y * transform[3] + transform[5]; + this.x = xp; + this.y = yp; + } + }], [{ + key: "parse", + value: function parse(point) { + var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + + var _toNumbers = toNumbers(point), + _toNumbers2 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_toNumbers, 2), + _toNumbers2$ = _toNumbers2[0], + x = _toNumbers2$ === void 0 ? defaultValue : _toNumbers2$, + _toNumbers2$2 = _toNumbers2[1], + y = _toNumbers2$2 === void 0 ? defaultValue : _toNumbers2$2; + + return new Point(x, y); + } + }, { + key: "parseScale", + value: function parseScale(scale) { + var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + + var _toNumbers3 = toNumbers(scale), + _toNumbers4 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_toNumbers3, 2), + _toNumbers4$ = _toNumbers4[0], + x = _toNumbers4$ === void 0 ? defaultValue : _toNumbers4$, + _toNumbers4$2 = _toNumbers4[1], + y = _toNumbers4$2 === void 0 ? x : _toNumbers4$2; + + return new Point(x, y); + } + }, { + key: "parsePath", + value: function parsePath(path) { + var points = toNumbers(path); + var len = points.length; + var pathPoints = []; + + for (var i = 0; i < len; i += 2) { + pathPoints.push(new Point(points[i], points[i + 1])); + } + + return pathPoints; + } + }]); + + return Point; +}(); + +var Mouse = /*#__PURE__*/function () { + function Mouse(screen) { + var _context, _context2; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, Mouse); + + this.screen = screen; + this.working = false; + this.events = []; + this.eventElements = []; + this.onClick = _babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_22___default()(_context = this.onClick).call(_context, this); + this.onMouseMove = _babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_22___default()(_context2 = this.onMouseMove).call(_context2, this); + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(Mouse, [{ + key: "isWorking", + value: function isWorking() { + return this.working; + } + }, { + key: "start", + value: function start() { + if (this.working) { + return; + } + + var screen = this.screen, + onClick = this.onClick, + onMouseMove = this.onMouseMove; + var canvas = screen.ctx.canvas; + canvas.onclick = onClick; + canvas.onmousemove = onMouseMove; + this.working = true; + } + }, { + key: "stop", + value: function stop() { + if (!this.working) { + return; + } + + var canvas = this.screen.ctx.canvas; + this.working = false; + canvas.onclick = null; + canvas.onmousemove = null; + } + }, { + key: "hasEvents", + value: function hasEvents() { + return this.working && this.events.length > 0; + } + }, { + key: "runEvents", + value: function runEvents() { + if (!this.working) { + return; + } + + var document = this.screen, + events = this.events, + eventElements = this.eventElements; + var style = document.ctx.canvas.style; + + if (style) { + style.cursor = ''; + } + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(events).call(events, function (_ref, i) { + var run = _ref.run; + var element = eventElements[i]; + + while (element) { + run(element); + element = element.parent; + } + }); // done running, clear + + + this.events = []; + this.eventElements = []; + } + }, { + key: "checkPath", + value: function checkPath(element, ctx) { + if (!this.working || !ctx) { + return; + } + + var events = this.events, + eventElements = this.eventElements; + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(events).call(events, function (_ref2, i) { + var x = _ref2.x, + y = _ref2.y; + + if (!eventElements[i] && ctx.isPointInPath && ctx.isPointInPath(x, y)) { + eventElements[i] = element; + } + }); + } + }, { + key: "checkBoundingBox", + value: function checkBoundingBox(element, boundingBox) { + if (!this.working || !boundingBox) { + return; + } + + var events = this.events, + eventElements = this.eventElements; + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(events).call(events, function (_ref3, i) { + var x = _ref3.x, + y = _ref3.y; + + if (!eventElements[i] && boundingBox.isPointInBox(x, y)) { + eventElements[i] = element; + } + }); + } + }, { + key: "mapXY", + value: function mapXY(x, y) { + var _this$screen = this.screen, + window = _this$screen.window, + ctx = _this$screen.ctx; + var point = new Point(x, y); + var element = ctx.canvas; + + while (element) { + point.x -= element.offsetLeft; + point.y -= element.offsetTop; + element = element.offsetParent; + } + + if (window.scrollX) { + point.x += window.scrollX; + } + + if (window.scrollY) { + point.y += window.scrollY; + } + + return point; + } + }, { + key: "onClick", + value: function onClick(evt) { + var _this$mapXY = this.mapXY((evt || event).clientX, (evt || event).clientY), + x = _this$mapXY.x, + y = _this$mapXY.y; + + this.events.push({ + type: 'onclick', + x: x, + y: y, + run: function run(event) { + if (event.onClick) { + event.onClick(); + } + } + }); + } + }, { + key: "onMouseMove", + value: function onMouseMove(evt) { + var _this$mapXY2 = this.mapXY((evt || event).clientX, (evt || event).clientY), + x = _this$mapXY2.x, + y = _this$mapXY2.y; + + this.events.push({ + type: 'onmousemove', + x: x, + y: y, + run: function run(event) { + if (event.onMouseMove) { + event.onMouseMove(); + } + } + }); + } + }]); + + return Mouse; +}(); + +var defaultWindow = typeof window !== 'undefined' ? window : null; +var defaultFetch = typeof fetch !== 'undefined' ? _babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_22___default()(fetch).call(fetch, void 0) // `fetch` depends on context: `someObject.fetch(...)` will throw error. +: null; + +var Screen = /*#__PURE__*/function () { + function Screen(ctx) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$fetch = _ref.fetch, + fetch = _ref$fetch === void 0 ? defaultFetch : _ref$fetch, + _ref$window = _ref.window, + window = _ref$window === void 0 ? defaultWindow : _ref$window; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, Screen); + + this.ctx = ctx; + this.FRAMERATE = 30; + this.MAX_VIRTUAL_PIXELS = 30000; + this.CLIENT_WIDTH = 800; + this.CLIENT_HEIGHT = 600; + this.viewPort = new ViewPort(); + this.mouse = new Mouse(this); + this.animations = []; + this.waits = []; + this.frameDuration = 0; + this.isReadyLock = false; + this.isFirstRender = true; + this.intervalId = null; + this.window = window; + this.fetch = fetch; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(Screen, [{ + key: "wait", + value: function wait(checker) { + this.waits.push(checker); + } + }, { + key: "ready", + value: function ready() { + if (!this.readyPromise) { + return _babel_runtime_corejs3_core_js_stable_promise__WEBPACK_IMPORTED_MODULE_21___default().resolve(); + } + + return this.readyPromise; + } + }, { + key: "isReady", + value: function isReady() { + var _context; + + if (this.isReadyLock) { + return true; + } + + var isReadyLock = _babel_runtime_corejs3_core_js_stable_instance_every__WEBPACK_IMPORTED_MODULE_20___default()(_context = this.waits).call(_context, function (_) { + return _(); + }); + + if (isReadyLock) { + this.waits = []; + + if (this.resolveReady) { + this.resolveReady(); + } + } + + this.isReadyLock = isReadyLock; + return isReadyLock; + } + }, { + key: "setDefaults", + value: function setDefaults(ctx) { + // initial values and defaults + ctx.strokeStyle = 'rgba(0,0,0,0)'; + ctx.lineCap = 'butt'; + ctx.lineJoin = 'miter'; + ctx.miterLimit = 4; + } + }, { + key: "setViewBox", + value: function setViewBox(_ref2) { + var document = _ref2.document, + ctx = _ref2.ctx, + aspectRatio = _ref2.aspectRatio, + width = _ref2.width, + desiredWidth = _ref2.desiredWidth, + height = _ref2.height, + desiredHeight = _ref2.desiredHeight, + _ref2$minX = _ref2.minX, + minX = _ref2$minX === void 0 ? 0 : _ref2$minX, + _ref2$minY = _ref2.minY, + minY = _ref2$minY === void 0 ? 0 : _ref2$minY, + refX = _ref2.refX, + refY = _ref2.refY, + _ref2$clip = _ref2.clip, + clip = _ref2$clip === void 0 ? false : _ref2$clip, + _ref2$clipX = _ref2.clipX, + clipX = _ref2$clipX === void 0 ? 0 : _ref2$clipX, + _ref2$clipY = _ref2.clipY, + clipY = _ref2$clipY === void 0 ? 0 : _ref2$clipY; + // aspect ratio - http://www.w3.org/TR/SVG/coords.html#PreserveAspectRatioAttribute + var cleanAspectRatio = compressSpaces(aspectRatio).replace(/^defer\s/, ''); // ignore defer + + var _cleanAspectRatio$spl = cleanAspectRatio.split(' '), + _cleanAspectRatio$spl2 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_cleanAspectRatio$spl, 2), + aspectRatioAlign = _cleanAspectRatio$spl2[0], + aspectRatioMeetOrSlice = _cleanAspectRatio$spl2[1]; + + var align = aspectRatioAlign || 'xMidYMid'; + var meetOrSlice = aspectRatioMeetOrSlice || 'meet'; // calculate scale + + var scaleX = width / desiredWidth; + var scaleY = height / desiredHeight; + var scaleMin = Math.min(scaleX, scaleY); + var scaleMax = Math.max(scaleX, scaleY); + var finalDesiredWidth = desiredWidth; + var finalDesiredHeight = desiredHeight; + + if (meetOrSlice === 'meet') { + finalDesiredWidth *= scaleMin; + finalDesiredHeight *= scaleMin; + } + + if (meetOrSlice === 'slice') { + finalDesiredWidth *= scaleMax; + finalDesiredHeight *= scaleMax; + } + + var refXProp = new Property(document, 'refX', refX); + var refYProp = new Property(document, 'refY', refY); + var hasRefs = refXProp.hasValue() && refYProp.hasValue(); + + if (hasRefs) { + ctx.translate(-scaleMin * refXProp.getPixels('x'), -scaleMin * refYProp.getPixels('y')); + } + + if (clip) { + var scaledClipX = scaleMin * clipX; + var scaledClipY = scaleMin * clipY; + ctx.beginPath(); + ctx.moveTo(scaledClipX, scaledClipY); + ctx.lineTo(width, scaledClipY); + ctx.lineTo(width, height); + ctx.lineTo(scaledClipX, height); + ctx.closePath(); + ctx.clip(); + } + + if (!hasRefs) { + var isMeetMinY = meetOrSlice === 'meet' && scaleMin === scaleY; + var isSliceMaxY = meetOrSlice === 'slice' && scaleMax === scaleY; + var isMeetMinX = meetOrSlice === 'meet' && scaleMin === scaleX; + var isSliceMaxX = meetOrSlice === 'slice' && scaleMax === scaleX; + + if (/^xMid/.test(align) && (isMeetMinY || isSliceMaxY)) { + ctx.translate(width / 2.0 - finalDesiredWidth / 2.0, 0); + } + + if (/YMid$/.test(align) && (isMeetMinX || isSliceMaxX)) { + ctx.translate(0, height / 2.0 - finalDesiredHeight / 2.0); + } + + if (/^xMax/.test(align) && (isMeetMinY || isSliceMaxY)) { + ctx.translate(width - finalDesiredWidth, 0); + } + + if (/YMax$/.test(align) && (isMeetMinX || isSliceMaxX)) { + ctx.translate(0, height - finalDesiredHeight); + } + } // scale + + + switch (true) { + case align === 'none': + ctx.scale(scaleX, scaleY); + break; + + case meetOrSlice === 'meet': + ctx.scale(scaleMin, scaleMin); + break; + + case meetOrSlice === 'slice': + ctx.scale(scaleMax, scaleMax); + break; + } // translate + + + ctx.translate(-minX, -minY); + } + }, { + key: "start", + value: function start(element) { + var _this = this; + + var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref3$enableRedraw = _ref3.enableRedraw, + enableRedraw = _ref3$enableRedraw === void 0 ? false : _ref3$enableRedraw, + _ref3$ignoreMouse = _ref3.ignoreMouse, + ignoreMouse = _ref3$ignoreMouse === void 0 ? false : _ref3$ignoreMouse, + _ref3$ignoreAnimation = _ref3.ignoreAnimation, + ignoreAnimation = _ref3$ignoreAnimation === void 0 ? false : _ref3$ignoreAnimation, + _ref3$ignoreDimension = _ref3.ignoreDimensions, + ignoreDimensions = _ref3$ignoreDimension === void 0 ? false : _ref3$ignoreDimension, + _ref3$ignoreClear = _ref3.ignoreClear, + ignoreClear = _ref3$ignoreClear === void 0 ? false : _ref3$ignoreClear, + forceRedraw = _ref3.forceRedraw, + scaleWidth = _ref3.scaleWidth, + scaleHeight = _ref3.scaleHeight, + offsetX = _ref3.offsetX, + offsetY = _ref3.offsetY; + + var FRAMERATE = this.FRAMERATE, + mouse = this.mouse; + var frameDuration = 1000 / FRAMERATE; + this.frameDuration = frameDuration; + this.readyPromise = new (_babel_runtime_corejs3_core_js_stable_promise__WEBPACK_IMPORTED_MODULE_21___default())(function (resolve) { + _this.resolveReady = resolve; + }); + + if (this.isReady()) { + this.render(element, ignoreDimensions, ignoreClear, scaleWidth, scaleHeight, offsetX, offsetY); + } + + if (!enableRedraw) { + return; + } + + var now = _babel_runtime_corejs3_core_js_stable_date_now__WEBPACK_IMPORTED_MODULE_19___default()(); + + var then = now; + var delta = 0; + + var tick = function tick() { + now = _babel_runtime_corejs3_core_js_stable_date_now__WEBPACK_IMPORTED_MODULE_19___default()(); + delta = now - then; + + if (delta >= frameDuration) { + then = now - delta % frameDuration; + + if (_this.shouldUpdate(ignoreAnimation, forceRedraw)) { + _this.render(element, ignoreDimensions, ignoreClear, scaleWidth, scaleHeight, offsetX, offsetY); + + mouse.runEvents(); + } + } + + _this.intervalId = raf__WEBPACK_IMPORTED_MODULE_23___default()(tick); + }; + + if (!ignoreMouse) { + mouse.start(); + } + + this.intervalId = raf__WEBPACK_IMPORTED_MODULE_23___default()(tick); + } + }, { + key: "stop", + value: function stop() { + if (this.intervalId) { + raf__WEBPACK_IMPORTED_MODULE_23___default().cancel(this.intervalId); + this.intervalId = null; + } + + this.mouse.stop(); + } + }, { + key: "shouldUpdate", + value: function shouldUpdate(ignoreAnimation, forceRedraw) { + // need update from animations? + if (!ignoreAnimation) { + var _context2; + + var frameDuration = this.frameDuration; + + var shouldUpdate = _babel_runtime_corejs3_core_js_stable_instance_reduce__WEBPACK_IMPORTED_MODULE_18___default()(_context2 = this.animations).call(_context2, function (shouldUpdate, animation) { + return animation.update(frameDuration) || shouldUpdate; + }, false); + + if (shouldUpdate) { + return true; + } + } // need update from redraw? + + + if (typeof forceRedraw === 'function' && forceRedraw()) { + return true; + } + + if (!this.isReadyLock && this.isReady()) { + return true; + } // need update from mouse events? + + + if (this.mouse.hasEvents()) { + return true; + } + + return false; + } + }, { + key: "render", + value: function render(element, ignoreDimensions, ignoreClear, scaleWidth, scaleHeight, offsetX, offsetY) { + var CLIENT_WIDTH = this.CLIENT_WIDTH, + CLIENT_HEIGHT = this.CLIENT_HEIGHT, + viewPort = this.viewPort, + ctx = this.ctx, + isFirstRender = this.isFirstRender; + var canvas = ctx.canvas; + viewPort.clear(); + + if (canvas.width && canvas.height) { + viewPort.setCurrent(canvas.width, canvas.height); + } else { + viewPort.setCurrent(CLIENT_WIDTH, CLIENT_HEIGHT); + } + + var widthStyle = element.getStyle('width'); + var heightStyle = element.getStyle('height'); + + if (!ignoreDimensions && (isFirstRender || typeof scaleWidth !== 'number' && typeof scaleHeight !== 'number')) { + // set canvas size + if (widthStyle.hasValue()) { + canvas.width = widthStyle.getPixels('x'); + + if (canvas.style) { + canvas.style.width = "".concat(canvas.width, "px"); + } + } + + if (heightStyle.hasValue()) { + canvas.height = heightStyle.getPixels('y'); + + if (canvas.style) { + canvas.style.height = "".concat(canvas.height, "px"); + } + } + } + + var cWidth = canvas.clientWidth || canvas.width; + var cHeight = canvas.clientHeight || canvas.height; + + if (ignoreDimensions && widthStyle.hasValue() && heightStyle.hasValue()) { + cWidth = widthStyle.getPixels('x'); + cHeight = heightStyle.getPixels('y'); + } + + viewPort.setCurrent(cWidth, cHeight); + + if (typeof offsetX === 'number') { + element.getAttribute('x', true).setValue(offsetX); + } + + if (typeof offsetY === 'number') { + element.getAttribute('y', true).setValue(offsetY); + } + + if (typeof scaleWidth === 'number' || typeof scaleHeight === 'number') { + var _context3, _context4; + + var viewBox = toNumbers(element.getAttribute('viewBox').getString()); + var xRatio = 0; + var yRatio = 0; + + if (typeof scaleWidth === 'number') { + var _widthStyle = element.getStyle('width'); + + if (_widthStyle.hasValue()) { + xRatio = _widthStyle.getPixels('x') / scaleWidth; + } else if (!isNaN(viewBox[2])) { + xRatio = viewBox[2] / scaleWidth; + } + } + + if (typeof scaleHeight === 'number') { + var _heightStyle = element.getStyle('height'); + + if (_heightStyle.hasValue()) { + yRatio = _heightStyle.getPixels('y') / scaleHeight; + } else if (!isNaN(viewBox[3])) { + yRatio = viewBox[3] / scaleHeight; + } + } + + if (!xRatio) { + xRatio = yRatio; + } + + if (!yRatio) { + yRatio = xRatio; + } + + element.getAttribute('width', true).setValue(scaleWidth); + element.getAttribute('height', true).setValue(scaleHeight); + var transformStyle = element.getStyle('transform', true, true); + transformStyle.setValue(_babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_17___default()(_context3 = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_17___default()(_context4 = "".concat(transformStyle.getString(), " scale(")).call(_context4, 1.0 / xRatio, ", ")).call(_context3, 1.0 / yRatio, ")")); + } // clear and render + + + if (!ignoreClear) { + ctx.clearRect(0, 0, cWidth, cHeight); + } + + element.render(ctx); + + if (isFirstRender) { + this.isFirstRender = false; + } + } + }]); + + return Screen; +}(); +Screen.defaultWindow = defaultWindow; +Screen.defaultFetch = defaultFetch; + +var defaultFetch$1 = Screen.defaultFetch; +var DefaultDOMParser = typeof DOMParser !== 'undefined' ? DOMParser : null; + +var Parser = /*#__PURE__*/function () { + function Parser() { + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$fetch = _ref.fetch, + fetch = _ref$fetch === void 0 ? defaultFetch$1 : _ref$fetch, + _ref$DOMParser = _ref.DOMParser, + DOMParser = _ref$DOMParser === void 0 ? DefaultDOMParser : _ref$DOMParser; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, Parser); + + this.fetch = fetch; + this.DOMParser = DOMParser; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(Parser, [{ + key: "parse", + value: function () { + var _parse = (0,_babel_runtime_corejs3_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_13__.default)( /*#__PURE__*/_babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default().mark(function _callee(resource) { + return _babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default().wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!/^= 0; i--) { + transforms[i].unapply(ctx); + } + } // TODO: applyToPoint unused ... remove? + + }, { + key: "applyToPoint", + value: function applyToPoint(point) { + var transforms = this.transforms; + var len = transforms.length; + + for (var i = 0; i < len; i++) { + transforms[i].applyToPoint(point); + } + } + }], [{ + key: "fromElement", + value: function fromElement(document, element) { + var transformStyle = element.getStyle('transform', false, true); + + var _element$getStyle$spl = element.getStyle('transform-origin', false, true).split(), + _element$getStyle$spl2 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_element$getStyle$spl, 2), + transformOriginXProperty = _element$getStyle$spl2[0], + _element$getStyle$spl3 = _element$getStyle$spl2[1], + transformOriginYProperty = _element$getStyle$spl3 === void 0 ? transformOriginXProperty : _element$getStyle$spl3; + + var transformOrigin = [transformOriginXProperty, transformOriginYProperty]; + + if (transformStyle.hasValue()) { + return new Transform(document, transformStyle.getString(), transformOrigin); + } + + return null; + } + }]); + + return Transform; +}(); +Transform.transformTypes = { + translate: Translate, + rotate: Rotate, + scale: Scale, + matrix: Matrix, + skewX: SkewX, + skewY: SkewY +}; + +var Element = /*#__PURE__*/function () { + function Element(document, node) { + var _context, + _this = this, + _context4; + + var captureTextNodes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, Element); + + this.document = document; + this.node = node; + this.captureTextNodes = captureTextNodes; + this.attributes = {}; + this.styles = {}; + this.stylesSpecificity = {}; + this.animationFrozen = false; + this.animationFrozenValue = ''; + this.parent = null; + this.children = []; + + if (!node || node.nodeType !== 1) { + // ELEMENT_NODE + return; + } // add attributes + + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context = _babel_runtime_corejs3_core_js_stable_array_from__WEBPACK_IMPORTED_MODULE_33___default()(node.attributes)).call(_context, function (attribute) { + var nodeName = normalizeAttributeName(attribute.nodeName); + _this.attributes[nodeName] = new Property(document, nodeName, attribute.value); + }); + + this.addStylesFromStyleDefinition(); // add inline styles + + if (this.getAttribute('style').hasValue()) { + var _context2; + + var styles = _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_2___default()(_context2 = this.getAttribute('style').getString().split(';')).call(_context2, function (_) { + return _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_24___default()(_).call(_); + }); + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(styles).call(styles, function (style) { + var _context3; + + if (!style) { + return; + } + + var _style$split$map = _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_2___default()(_context3 = style.split(':')).call(_context3, function (_) { + return _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_24___default()(_).call(_); + }), + _style$split$map2 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_style$split$map, 2), + name = _style$split$map2[0], + value = _style$split$map2[1]; + + _this.styles[name] = new Property(document, name, value); + }); + } + + var definitions = document.definitions; + var id = this.getAttribute('id'); // add id + + if (id.hasValue()) { + if (!definitions[id.getValue()]) { + definitions[id.getValue()] = this; + } + } + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context4 = _babel_runtime_corejs3_core_js_stable_array_from__WEBPACK_IMPORTED_MODULE_33___default()(node.childNodes)).call(_context4, function (childNode) { + if (childNode.nodeType === 1) { + _this.addChild(childNode); // ELEMENT_NODE + + } else if (captureTextNodes && (childNode.nodeType === 3 || childNode.nodeType === 4)) { + var textNode = document.createTextNode(childNode); + + if (textNode.getText().length > 0) { + _this.addChild(textNode); // TEXT_NODE + + } + } + }); + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(Element, [{ + key: "getAttribute", + value: function getAttribute(name) { + var createIfNotExists = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var attr = this.attributes[name]; + + if (!attr && createIfNotExists) { + var _attr = new Property(this.document, name, ''); + + this.attributes[name] = _attr; + return _attr; + } + + return attr || Property.empty(this.document); + } + }, { + key: "getHrefAttribute", + value: function getHrefAttribute() { + for (var key in this.attributes) { + if (key === 'href' || /:href$/.test(key)) { + return this.attributes[key]; + } + } + + return Property.empty(this.document); + } + }, { + key: "getStyle", + value: function getStyle(name) { + var createIfNotExists = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var skipAncestors = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var style = this.styles[name]; + + if (style) { + return style; + } + + var attr = this.getAttribute(name); + + if (attr && attr.hasValue()) { + this.styles[name] = attr; // move up to me to cache + + return attr; + } + + if (!skipAncestors) { + var parent = this.parent; + + if (parent) { + var parentStyle = parent.getStyle(name); + + if (parentStyle && parentStyle.hasValue()) { + return parentStyle; + } + } + } + + if (createIfNotExists) { + var _style = new Property(this.document, name, ''); + + this.styles[name] = _style; + return _style; + } + + return style || Property.empty(this.document); + } + }, { + key: "render", + value: function render(ctx) { + // don't render display=none + // don't render visibility=hidden + if (this.getStyle('display').getString() === 'none' || this.getStyle('visibility').getString() === 'hidden') { + return; + } + + ctx.save(); + + if (this.getStyle('mask').hasValue()) { + // mask + var mask = this.getStyle('mask').getDefinition(); + + if (mask) { + this.applyEffects(ctx); + mask.apply(ctx, this); + } + } else if (this.getStyle('filter').getValue('none') !== 'none') { + // filter + var filter = this.getStyle('filter').getDefinition(); + + if (filter) { + this.applyEffects(ctx); + filter.apply(ctx, this); + } + } else { + this.setContext(ctx); + this.renderChildren(ctx); + this.clearContext(ctx); + } + + ctx.restore(); + } + }, { + key: "setContext", + value: function setContext(_) {} + }, { + key: "applyEffects", + value: function applyEffects(ctx) { + // transform + var transform = Transform.fromElement(this.document, this); + + if (transform) { + transform.apply(ctx); + } // clip + + + var clipPathStyleProp = this.getStyle('clip-path', false, true); + + if (clipPathStyleProp.hasValue()) { + var clip = clipPathStyleProp.getDefinition(); + + if (clip) { + clip.apply(ctx); + } + } + } + }, { + key: "clearContext", + value: function clearContext(_) {} + }, { + key: "renderChildren", + value: function renderChildren(ctx) { + var _context5; + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context5 = this.children).call(_context5, function (child) { + child.render(ctx); + }); + } + }, { + key: "addChild", + value: function addChild(childNode) { + var _context6; + + var child = childNode instanceof Element ? childNode : this.document.createElement(childNode); + child.parent = this; + + if (!_babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_32___default()(_context6 = Element.ignoreChildTypes).call(_context6, child.type)) { + this.children.push(child); + } + } + }, { + key: "matchesSelector", + value: function matchesSelector(selector) { + var _context7; + + var node = this.node; + + if (typeof node.matches === 'function') { + return node.matches(selector); + } + + var styleClasses = node.getAttribute('class'); + + if (!styleClasses || styleClasses === '') { + return false; + } + + return _babel_runtime_corejs3_core_js_stable_instance_some__WEBPACK_IMPORTED_MODULE_31___default()(_context7 = styleClasses.split(' ')).call(_context7, function (styleClass) { + if (".".concat(styleClass) === selector) { + return true; + } + }); + } + }, { + key: "addStylesFromStyleDefinition", + value: function addStylesFromStyleDefinition() { + var _this$document = this.document, + styles = _this$document.styles, + stylesSpecificity = _this$document.stylesSpecificity; + + for (var selector in styles) { + if (selector[0] !== '@' && this.matchesSelector(selector)) { + var style = styles[selector]; + var specificity = stylesSpecificity[selector]; + + if (style) { + for (var name in style) { + var existingSpecificity = this.stylesSpecificity[name]; + + if (typeof existingSpecificity === 'undefined') { + existingSpecificity = '000'; + } + + if (specificity >= existingSpecificity) { + this.styles[name] = style[name]; + this.stylesSpecificity[name] = specificity; + } + } + } + } + } + } + }, { + key: "removeStyles", + value: function removeStyles(element, ignoreStyles) { + var toRestore = _babel_runtime_corejs3_core_js_stable_instance_reduce__WEBPACK_IMPORTED_MODULE_18___default()(ignoreStyles).call(ignoreStyles, function (toRestore, name) { + var _context8; + + var styleProp = element.getStyle(name); + + if (!styleProp.hasValue()) { + return toRestore; + } + + var value = styleProp.getString(); + styleProp.setValue(''); + return _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_17___default()(_context8 = []).call(_context8, (0,_babel_runtime_corejs3_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_30__.default)(toRestore), [[name, value]]); + }, []); + + return toRestore; + } + }, { + key: "restoreStyles", + value: function restoreStyles(element, styles) { + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(styles).call(styles, function (_ref) { + var _ref2 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_ref, 2), + name = _ref2[0], + value = _ref2[1]; + + element.getStyle(name, true).setValue(value); + }); + } + }]); + + return Element; +}(); +Element.ignoreChildTypes = ['title']; + +function _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$3() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var UnknownElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(UnknownElement, _Element); + + var _super = _createSuper$3(UnknownElement); + + function UnknownElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, UnknownElement); + + _this = _super.call(this, document, node, captureTextNodes); + + return _this; + } + + return UnknownElement; +}(Element); + +function wrapFontFamily(fontFamily) { + var trimmed = _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_24___default()(fontFamily).call(fontFamily); + + return /^('|")/.test(trimmed) ? trimmed : "\"".concat(trimmed, "\""); +} + +function prepareFontFamily(fontFamily) { + var _context; + + return typeof process === 'undefined' ? fontFamily : _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_2___default()(_context = _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_24___default()(fontFamily).call(fontFamily).split(',')).call(_context, wrapFontFamily).join(','); +} +/** + * https://developer.mozilla.org/en-US/docs/Web/CSS/font-style + */ + + +function prepareFontStyle(fontStyle) { + if (!fontStyle) { + return ''; + } + + var targetFontStyle = _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_24___default()(fontStyle).call(fontStyle).toLowerCase(); + + switch (targetFontStyle) { + case 'normal': + case 'italic': + case 'oblique': + case 'inherit': + case 'initial': + case 'unset': + return targetFontStyle; + + default: + if (/^oblique\s+(-|)\d+deg$/.test(targetFontStyle)) { + return targetFontStyle; + } + + return ''; + } +} +/** + * https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight + */ + + +function prepareFontWeight(fontWeight) { + if (!fontWeight) { + return ''; + } + + var targetFontWeight = _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_24___default()(fontWeight).call(fontWeight).toLowerCase(); + + switch (targetFontWeight) { + case 'normal': + case 'bold': + case 'lighter': + case 'bolder': + case 'inherit': + case 'initial': + case 'unset': + return targetFontWeight; + + default: + if (/^[\d.]+$/.test(targetFontWeight)) { + return targetFontWeight; + } + + return ''; + } +} + +var Font = /*#__PURE__*/function () { + function Font(fontStyle, fontVariant, fontWeight, fontSize, fontFamily, inherit) { + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, Font); + + var inheritFont = inherit ? typeof inherit === 'string' ? Font.parse(inherit) : inherit : {}; + this.fontFamily = fontFamily || inheritFont.fontFamily; + this.fontSize = fontSize || inheritFont.fontSize; + this.fontStyle = fontStyle || inheritFont.fontStyle; + this.fontWeight = fontWeight || inheritFont.fontWeight; + this.fontVariant = fontVariant || inheritFont.fontVariant; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(Font, [{ + key: "toString", + value: function toString() { + var _context2; + + return _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_24___default()(_context2 = [prepareFontStyle(this.fontStyle), this.fontVariant, prepareFontWeight(this.fontWeight), this.fontSize, // Wrap fontFamily only on nodejs and only for canvas.ctx + prepareFontFamily(this.fontFamily)].join(' ')).call(_context2); + } + }], [{ + key: "parse", + value: function parse() { + var _context3; + + var font = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; + var inherit = arguments.length > 1 ? arguments[1] : undefined; + var fontStyle = ''; + var fontVariant = ''; + var fontWeight = ''; + var fontSize = ''; + var fontFamily = ''; + + var parts = _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_24___default()(_context3 = compressSpaces(font)).call(_context3).split(' '); + + var set = { + fontSize: false, + fontStyle: false, + fontWeight: false, + fontVariant: false + }; + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(parts).call(parts, function (part) { + var _context4, _context5, _context6; + + switch (true) { + case !set.fontStyle && _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_32___default()(_context4 = Font.styles).call(_context4, part): + if (part !== 'inherit') { + fontStyle = part; + } + + set.fontStyle = true; + break; + + case !set.fontVariant && _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_32___default()(_context5 = Font.variants).call(_context5, part): + if (part !== 'inherit') { + fontVariant = part; + } + + set.fontStyle = true; + set.fontVariant = true; + break; + + case !set.fontWeight && _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_32___default()(_context6 = Font.weights).call(_context6, part): + if (part !== 'inherit') { + fontWeight = part; + } + + set.fontStyle = true; + set.fontVariant = true; + set.fontWeight = true; + break; + + case !set.fontSize: + if (part !== 'inherit') { + var _part$split = part.split('/'); + + var _part$split2 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_part$split, 1); + + fontSize = _part$split2[0]; + } + + set.fontStyle = true; + set.fontVariant = true; + set.fontWeight = true; + set.fontSize = true; + break; + + default: + if (part !== 'inherit') { + fontFamily += part; + } + + } + }); + + return new Font(fontStyle, fontVariant, fontWeight, fontSize, fontFamily, inherit); + } + }]); + + return Font; +}(); +Font.styles = 'normal|italic|oblique|inherit'; +Font.variants = 'normal|small-caps|inherit'; +Font.weights = 'normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit'; + +var BoundingBox = /*#__PURE__*/function () { + function BoundingBox() { + var x1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Number.NaN; + var y1 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.NaN; + var x2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Number.NaN; + var y2 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Number.NaN; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, BoundingBox); + + this.x1 = x1; + this.y1 = y1; + this.x2 = x2; + this.y2 = y2; + this.addPoint(x1, y1); + this.addPoint(x2, y2); + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(BoundingBox, [{ + key: "addPoint", + value: function addPoint(x, y) { + if (typeof x !== 'undefined') { + if (isNaN(this.x1) || isNaN(this.x2)) { + this.x1 = x; + this.x2 = x; + } + + if (x < this.x1) { + this.x1 = x; + } + + if (x > this.x2) { + this.x2 = x; + } + } + + if (typeof y !== 'undefined') { + if (isNaN(this.y1) || isNaN(this.y2)) { + this.y1 = y; + this.y2 = y; + } + + if (y < this.y1) { + this.y1 = y; + } + + if (y > this.y2) { + this.y2 = y; + } + } + } + }, { + key: "addX", + value: function addX(x) { + this.addPoint(x, null); + } + }, { + key: "addY", + value: function addY(y) { + this.addPoint(null, y); + } + }, { + key: "addBoundingBox", + value: function addBoundingBox(boundingBox) { + if (!boundingBox) { + return; + } + + var x1 = boundingBox.x1, + y1 = boundingBox.y1, + x2 = boundingBox.x2, + y2 = boundingBox.y2; + this.addPoint(x1, y1); + this.addPoint(x2, y2); + } + }, { + key: "sumCubic", + value: function sumCubic(t, p0, p1, p2, p3) { + return Math.pow(1 - t, 3) * p0 + 3 * Math.pow(1 - t, 2) * t * p1 + 3 * (1 - t) * Math.pow(t, 2) * p2 + Math.pow(t, 3) * p3; + } + }, { + key: "bezierCurveAdd", + value: function bezierCurveAdd(forX, p0, p1, p2, p3) { + var b = 6 * p0 - 12 * p1 + 6 * p2; + var a = -3 * p0 + 9 * p1 - 9 * p2 + 3 * p3; + var c = 3 * p1 - 3 * p0; + + if (a === 0) { + if (b === 0) { + return; + } + + var t = -c / b; + + if (0 < t && t < 1) { + if (forX) { + this.addX(this.sumCubic(t, p0, p1, p2, p3)); + } else { + this.addY(this.sumCubic(t, p0, p1, p2, p3)); + } + } + + return; + } + + var b2ac = Math.pow(b, 2) - 4 * c * a; + + if (b2ac < 0) { + return; + } + + var t1 = (-b + Math.sqrt(b2ac)) / (2 * a); + + if (0 < t1 && t1 < 1) { + if (forX) { + this.addX(this.sumCubic(t1, p0, p1, p2, p3)); + } else { + this.addY(this.sumCubic(t1, p0, p1, p2, p3)); + } + } + + var t2 = (-b - Math.sqrt(b2ac)) / (2 * a); + + if (0 < t2 && t2 < 1) { + if (forX) { + this.addX(this.sumCubic(t2, p0, p1, p2, p3)); + } else { + this.addY(this.sumCubic(t2, p0, p1, p2, p3)); + } + } + } // from http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html + + }, { + key: "addBezierCurve", + value: function addBezierCurve(p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y) { + this.addPoint(p0x, p0y); + this.addPoint(p3x, p3y); + this.bezierCurveAdd(true, p0x, p1x, p2x, p3x); + this.bezierCurveAdd(false, p0y, p1y, p2y, p3y); + } + }, { + key: "addQuadraticCurve", + value: function addQuadraticCurve(p0x, p0y, p1x, p1y, p2x, p2y) { + var cp1x = p0x + 2 / 3 * (p1x - p0x); // CP1 = QP0 + 2/3 *(QP1-QP0) + + var cp1y = p0y + 2 / 3 * (p1y - p0y); // CP1 = QP0 + 2/3 *(QP1-QP0) + + var cp2x = cp1x + 1 / 3 * (p2x - p0x); // CP2 = CP1 + 1/3 *(QP2-QP0) + + var cp2y = cp1y + 1 / 3 * (p2y - p0y); // CP2 = CP1 + 1/3 *(QP2-QP0) + + this.addBezierCurve(p0x, p0y, cp1x, cp2x, cp1y, cp2y, p2x, p2y); + } + }, { + key: "isPointInBox", + value: function isPointInBox(x, y) { + var x1 = this.x1, + y1 = this.y1, + x2 = this.x2, + y2 = this.y2; + return x1 <= x && x <= x2 && y1 <= y && y <= y2; + } + }, { + key: "x", + get: function get() { + return this.x1; + } + }, { + key: "y", + get: function get() { + return this.y1; + } + }, { + key: "width", + get: function get() { + return this.x2 - this.x1; + } + }, { + key: "height", + get: function get() { + return this.y2 - this.y1; + } + }]); + + return BoundingBox; +}(); + +function _createSuper$4(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$4(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$4() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var RenderedElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(RenderedElement, _Element); + + var _super = _createSuper$4(RenderedElement); + + function RenderedElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, RenderedElement); + + _this = _super.apply(this, arguments); + _this.modifiedEmSizeStack = false; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(RenderedElement, [{ + key: "calculateOpacity", + value: function calculateOpacity() { + var opacity = 1.0; // tslint:disable-next-line: no-this-assignment + + var element = this; + + while (element) { + var opacityStyle = element.getStyle('opacity', false, true); // no ancestors on style call + + if (opacityStyle.hasValue(true)) { + opacity *= opacityStyle.getNumber(); + } + + element = element.parent; + } + + return opacity; + } + }, { + key: "setContext", + value: function setContext(ctx) { + var fromMeasure = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + if (!fromMeasure) { + // causes stack overflow when measuring text with gradients + // fill + var fillStyleProp = this.getStyle('fill'); + var fillOpacityStyleProp = this.getStyle('fill-opacity'); + var strokeStyleProp = this.getStyle('stroke'); + var strokeOpacityProp = this.getStyle('stroke-opacity'); + + if (fillStyleProp.isUrlDefinition()) { + var fillStyle = fillStyleProp.getFillStyleDefinition(this, fillOpacityStyleProp); + + if (fillStyle) { + ctx.fillStyle = fillStyle; + } + } else if (fillStyleProp.hasValue()) { + if (fillStyleProp.getString() === 'currentColor') { + fillStyleProp.setValue(this.getStyle('color').getColor()); + } + + var _fillStyle = fillStyleProp.getColor(); + + if (_fillStyle !== 'inherit') { + ctx.fillStyle = _fillStyle === 'none' ? 'rgba(0,0,0,0)' : _fillStyle; + } + } + + if (fillOpacityStyleProp.hasValue()) { + var _fillStyle2 = new Property(this.document, 'fill', ctx.fillStyle).addOpacity(fillOpacityStyleProp).getColor(); + + ctx.fillStyle = _fillStyle2; + } // stroke + + + if (strokeStyleProp.isUrlDefinition()) { + var strokeStyle = strokeStyleProp.getFillStyleDefinition(this, strokeOpacityProp); + + if (strokeStyle) { + ctx.strokeStyle = strokeStyle; + } + } else if (strokeStyleProp.hasValue()) { + if (strokeStyleProp.getString() === 'currentColor') { + strokeStyleProp.setValue(this.getStyle('color').getColor()); + } + + var _strokeStyle = strokeStyleProp.getString(); + + if (_strokeStyle !== 'inherit') { + ctx.strokeStyle = _strokeStyle === 'none' ? 'rgba(0,0,0,0)' : _strokeStyle; + } + } + + if (strokeOpacityProp.hasValue()) { + var _strokeStyle2 = new Property(this.document, 'stroke', ctx.strokeStyle).addOpacity(strokeOpacityProp).getString(); + + ctx.strokeStyle = _strokeStyle2; + } + + var strokeWidthStyleProp = this.getStyle('stroke-width'); + + if (strokeWidthStyleProp.hasValue()) { + var newLineWidth = strokeWidthStyleProp.getPixels(); + ctx.lineWidth = !newLineWidth ? PSEUDO_ZERO // browsers don't respect 0 (or node-canvas? :-) + : newLineWidth; + } + + var strokeLinecapStyleProp = this.getStyle('stroke-linecap'); + var strokeLinejoinStyleProp = this.getStyle('stroke-linejoin'); + var strokeMiterlimitProp = this.getStyle('stroke-miterlimit'); + var pointOrderStyleProp = this.getStyle('paint-order'); + var strokeDasharrayStyleProp = this.getStyle('stroke-dasharray'); + var strokeDashoffsetProp = this.getStyle('stroke-dashoffset'); + + if (strokeLinecapStyleProp.hasValue()) { + ctx.lineCap = strokeLinecapStyleProp.getString(); + } + + if (strokeLinejoinStyleProp.hasValue()) { + ctx.lineJoin = strokeLinejoinStyleProp.getString(); + } + + if (strokeMiterlimitProp.hasValue()) { + ctx.miterLimit = strokeMiterlimitProp.getNumber(); + } + + if (pointOrderStyleProp.hasValue()) { + // ? + ctx.paintOrder = pointOrderStyleProp.getValue(); + } + + if (strokeDasharrayStyleProp.hasValue() && strokeDasharrayStyleProp.getString() !== 'none') { + var gaps = toNumbers(strokeDasharrayStyleProp.getString()); + + if (typeof ctx.setLineDash !== 'undefined') { + ctx.setLineDash(gaps); + } else if (typeof ctx.webkitLineDash !== 'undefined') { + ctx.webkitLineDash = gaps; + } else if (typeof ctx.mozDash !== 'undefined' && !(gaps.length === 1 && gaps[0] === 0)) { + ctx.mozDash = gaps; + } + + var offset = strokeDashoffsetProp.getPixels(); + + if (typeof ctx.lineDashOffset !== 'undefined') { + ctx.lineDashOffset = offset; + } else if (typeof ctx.webkitLineDashOffset !== 'undefined') { + ctx.webkitLineDashOffset = offset; + } else if (typeof ctx.mozDashOffset !== 'undefined') { + ctx.mozDashOffset = offset; + } + } + } // font + + + this.modifiedEmSizeStack = false; + + if (typeof ctx.font !== 'undefined') { + var fontStyleProp = this.getStyle('font'); + var fontStyleStyleProp = this.getStyle('font-style'); + var fontVariantStyleProp = this.getStyle('font-variant'); + var fontWeightStyleProp = this.getStyle('font-weight'); + var fontSizeStyleProp = this.getStyle('font-size'); + var fontFamilyStyleProp = this.getStyle('font-family'); + var font = new Font(fontStyleStyleProp.getString(), fontVariantStyleProp.getString(), fontWeightStyleProp.getString(), fontSizeStyleProp.hasValue() ? "".concat(fontSizeStyleProp.getPixels(true), "px") : '', fontFamilyStyleProp.getString(), Font.parse(fontStyleProp.getString(), ctx.font)); + fontStyleStyleProp.setValue(font.fontStyle); + fontVariantStyleProp.setValue(font.fontVariant); + fontWeightStyleProp.setValue(font.fontWeight); + fontSizeStyleProp.setValue(font.fontSize); + fontFamilyStyleProp.setValue(font.fontFamily); + ctx.font = font.toString(); + + if (fontSizeStyleProp.isPixels()) { + this.document.emSize = fontSizeStyleProp.getPixels(); + this.modifiedEmSizeStack = true; + } + } + + if (!fromMeasure) { + // effects + this.applyEffects(ctx); // opacity + + ctx.globalAlpha = this.calculateOpacity(); + } + } + }, { + key: "clearContext", + value: function clearContext(ctx) { + (0,_babel_runtime_corejs3_helpers_get__WEBPACK_IMPORTED_MODULE_36__.default)((0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(RenderedElement.prototype), "clearContext", this).call(this, ctx); + + if (this.modifiedEmSizeStack) { + this.document.popEmSize(); + } + } + }]); + + return RenderedElement; +}(Element); + +function _createSuper$5(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$5(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$5() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var TextElement = /*#__PURE__*/function (_RenderedElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(TextElement, _RenderedElement); + + var _super = _createSuper$5(TextElement); + + function TextElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, TextElement); + + _this = _super.call(this, document, node, (this instanceof TextElement ? this.constructor : void 0) === TextElement ? true : captureTextNodes); + _this.type = 'text'; + _this.x = 0; + _this.y = 0; + _this.measureCache = -1; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(TextElement, [{ + key: "setContext", + value: function setContext(ctx) { + var fromMeasure = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + (0,_babel_runtime_corejs3_helpers_get__WEBPACK_IMPORTED_MODULE_36__.default)((0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(TextElement.prototype), "setContext", this).call(this, ctx, fromMeasure); + + var textBaseline = this.getStyle('dominant-baseline').getTextBaseline() || this.getStyle('alignment-baseline').getTextBaseline(); + + if (textBaseline) { + ctx.textBaseline = textBaseline; + } + } + }, { + key: "initializeCoordinates", + value: function initializeCoordinates(ctx) { + this.x = this.getAttribute('x').getPixels('x'); + this.y = this.getAttribute('y').getPixels('y'); + var dxAttr = this.getAttribute('dx'); + var dyAttr = this.getAttribute('dy'); + + if (dxAttr.hasValue()) { + this.x += dxAttr.getPixels('x'); + } + + if (dyAttr.hasValue()) { + this.y += dyAttr.getPixels('y'); + } + + this.x += this.getAnchorDelta(ctx, this, 0); + } + }, { + key: "getBoundingBox", + value: function getBoundingBox(ctx) { + var _context, + _this2 = this; + + if (this.type !== 'text') { + return this.getTElementBoundingBox(ctx); + } + + this.initializeCoordinates(ctx); + var boundingBox = null; + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context = this.children).call(_context, function (_, i) { + var childBoundingBox = _this2.getChildBoundingBox(ctx, _this2, _this2, i); + + if (!boundingBox) { + boundingBox = childBoundingBox; + } else { + boundingBox.addBoundingBox(childBoundingBox); + } + }); + + return boundingBox; + } + }, { + key: "getFontSize", + value: function getFontSize() { + var document = this.document, + parent = this.parent; + var inheritFontSize = Font.parse(document.ctx.font).fontSize; + var fontSize = parent.getStyle('font-size').getNumber(inheritFontSize); + return fontSize; + } + }, { + key: "getTElementBoundingBox", + value: function getTElementBoundingBox(ctx) { + var fontSize = this.getFontSize(); + return new BoundingBox(this.x, this.y - fontSize, this.x + this.measureText(ctx), this.y); + } + }, { + key: "getGlyph", + value: function getGlyph(font, text, i) { + var char = text[i]; + var glyph = null; + + if (font.isArabic) { + var len = text.length; + var prevChar = text[i - 1]; + var nextChar = text[i + 1]; + var arabicForm = 'isolated'; + + if ((i === 0 || prevChar === ' ') && i < len - 2 && nextChar !== ' ') { + arabicForm = 'terminal'; + } + + if (i > 0 && prevChar !== ' ' && i < len - 2 && nextChar !== ' ') { + arabicForm = 'medial'; + } + + if (i > 0 && prevChar !== ' ' && (i === len - 1 || nextChar === ' ')) { + arabicForm = 'initial'; + } + + if (typeof font.glyphs[char] !== 'undefined') { + glyph = font.glyphs[char][arabicForm]; + + if (!glyph && font.glyphs[char].type === 'glyph') { + glyph = font.glyphs[char]; + } + } + } else { + glyph = font.glyphs[char]; + } + + if (!glyph) { + glyph = font.missingGlyph; + } + + return glyph; + } + }, { + key: "getText", + value: function getText() { + return ''; + } + }, { + key: "getTextFromNode", + value: function getTextFromNode(node) { + var textNode = node || this.node; + + var childNodes = _babel_runtime_corejs3_core_js_stable_array_from__WEBPACK_IMPORTED_MODULE_33___default()(textNode.parentNode.childNodes); + + var index = _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_35___default()(childNodes).call(childNodes, textNode); + + var lastIndex = childNodes.length - 1; + var text = compressSpaces(textNode.value || textNode.text || textNode.textContent || ''); + + if (index === 0) { + text = trimLeft(text); + } + + if (index === lastIndex) { + text = trimRight(text); + } + + return text; + } + }, { + key: "renderChildren", + value: function renderChildren(ctx) { + var _context2, + _this3 = this; + + if (this.type !== 'text') { + this.renderTElementChildren(ctx); + return; + } + + this.initializeCoordinates(ctx); + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context2 = this.children).call(_context2, function (_, i) { + _this3.renderChild(ctx, _this3, _this3, i); + }); + + var mouse = this.document.screen.mouse; // Do not calc bounding box if mouse is not working. + + if (mouse.isWorking()) { + mouse.checkBoundingBox(this, this.getBoundingBox(ctx)); + } + } + }, { + key: "renderTElementChildren", + value: function renderTElementChildren(ctx) { + var document = this.document, + parent = this.parent; + var renderText = this.getText(); + var customFont = parent.getStyle('font-family').getDefinition(); + + if (customFont) { + var _context3; + + var unitsPerEm = customFont.fontFace.unitsPerEm; + var ctxFont = Font.parse(document.ctx.font); + var fontSize = parent.getStyle('font-size').getNumber(ctxFont.fontSize); + var fontStyle = parent.getStyle('font-style').getString(ctxFont.fontStyle); + var scale = fontSize / unitsPerEm; + var text = customFont.isRTL ? _babel_runtime_corejs3_core_js_stable_instance_reverse__WEBPACK_IMPORTED_MODULE_34___default()(_context3 = renderText.split('')).call(_context3).join('') : renderText; + var dx = toNumbers(parent.getAttribute('dx').getString()); + var len = text.length; + + for (var i = 0; i < len; i++) { + var glyph = this.getGlyph(customFont, text, i); + ctx.translate(this.x, this.y); + ctx.scale(scale, -scale); + var lw = ctx.lineWidth; + ctx.lineWidth = ctx.lineWidth * unitsPerEm / fontSize; + + if (fontStyle === 'italic') { + ctx.transform(1, 0, .4, 1, 0, 0); + } + + glyph.render(ctx); + + if (fontStyle === 'italic') { + ctx.transform(1, 0, -.4, 1, 0, 0); + } + + ctx.lineWidth = lw; + ctx.scale(1 / scale, -1 / scale); + ctx.translate(-this.x, -this.y); + this.x += fontSize * (glyph.horizAdvX || customFont.horizAdvX) / unitsPerEm; + + if (typeof dx[i] !== 'undefined' && !isNaN(dx[i])) { + this.x += dx[i]; + } + } + + return; + } + + var x = this.x, + y = this.y; + + if (ctx.paintOrder === 'stroke') { + if (ctx.strokeStyle) { + ctx.strokeText(renderText, x, y); + } + + if (ctx.fillStyle) { + ctx.fillText(renderText, x, y); + } + } else { + if (ctx.fillStyle) { + ctx.fillText(renderText, x, y); + } + + if (ctx.strokeStyle) { + ctx.strokeText(renderText, x, y); + } + } + } + }, { + key: "getAnchorDelta", + value: function getAnchorDelta(ctx, parent, startI) { + var textAnchor = this.getStyle('text-anchor').getString('start'); + + if (textAnchor !== 'start') { + var children = parent.children; + var len = children.length; + var child = null; + var width = 0; + + for (var i = startI; i < len; i++) { + child = children[i]; + + if (i > startI && child.getAttribute('x').hasValue() || child.getAttribute('text-anchor').hasValue()) { + break; // new group + } + + width += child.measureTextRecursive(ctx); + } + + return -1 * (textAnchor === 'end' ? width : width / 2.0); + } + + return 0; + } + }, { + key: "adjustChildCoordinates", + value: function adjustChildCoordinates(ctx, textParent, parent, i) { + var child = parent.children[i]; + + if (typeof child.measureText !== 'function') { + return child; + } + + ctx.save(); + child.setContext(ctx, true); + var xAttr = child.getAttribute('x'); + var yAttr = child.getAttribute('y'); + var dxAttr = child.getAttribute('dx'); + var dyAttr = child.getAttribute('dy'); + var textAnchor = child.getAttribute('text-anchor').getString('start'); + + if (i === 0 && child.type !== 'textNode') { + if (!xAttr.hasValue()) { + xAttr.setValue(textParent.getAttribute('x').getValue('0')); + } + + if (!yAttr.hasValue()) { + yAttr.setValue(textParent.getAttribute('y').getValue('0')); + } + + if (!dxAttr.hasValue()) { + dxAttr.setValue(textParent.getAttribute('dx').getValue('0')); + } + + if (!dyAttr.hasValue()) { + dyAttr.setValue(textParent.getAttribute('dy').getValue('0')); + } + } + + if (xAttr.hasValue()) { + child.x = xAttr.getPixels('x') + textParent.getAnchorDelta(ctx, parent, i); + + if (textAnchor !== 'start') { + var width = child.measureTextRecursive(ctx); + child.x += -1 * (textAnchor === 'end' ? width : width / 2.0); + } + + if (dxAttr.hasValue()) { + child.x += dxAttr.getPixels('x'); + } + } else { + if (textAnchor !== 'start') { + var _width = child.measureTextRecursive(ctx); + + textParent.x += -1 * (textAnchor === 'end' ? _width : _width / 2.0); + } + + if (dxAttr.hasValue()) { + textParent.x += dxAttr.getPixels('x'); + } + + child.x = textParent.x; + } + + textParent.x = child.x + child.measureText(ctx); + + if (yAttr.hasValue()) { + child.y = yAttr.getPixels('y'); + + if (dyAttr.hasValue()) { + child.y += dyAttr.getPixels('y'); + } + } else { + if (dyAttr.hasValue()) { + textParent.y += dyAttr.getPixels('y'); + } + + child.y = textParent.y; + } + + textParent.y = child.y; + child.clearContext(ctx); + ctx.restore(); + return child; + } + }, { + key: "getChildBoundingBox", + value: function getChildBoundingBox(ctx, textParent, parent, i) { + var _context4; + + var child = this.adjustChildCoordinates(ctx, textParent, parent, i); // not a text node? + + if (typeof child.getBoundingBox !== 'function') { + return null; + } + + var boundingBox = child.getBoundingBox(ctx); + + if (!boundingBox) { + return null; + } + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context4 = child.children).call(_context4, function (_, i) { + var childBoundingBox = textParent.getChildBoundingBox(ctx, textParent, child, i); + boundingBox.addBoundingBox(childBoundingBox); + }); + + return boundingBox; + } + }, { + key: "renderChild", + value: function renderChild(ctx, textParent, parent, i) { + var _context5; + + var child = this.adjustChildCoordinates(ctx, textParent, parent, i); + child.render(ctx); + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context5 = child.children).call(_context5, function (_, i) { + textParent.renderChild(ctx, textParent, child, i); + }); + } + }, { + key: "measureTextRecursive", + value: function measureTextRecursive(ctx) { + var _context6; + + var width = _babel_runtime_corejs3_core_js_stable_instance_reduce__WEBPACK_IMPORTED_MODULE_18___default()(_context6 = this.children).call(_context6, function (width, child) { + return width + child.measureTextRecursive(ctx); + }, this.measureText(ctx)); + + return width; + } + }, { + key: "measureText", + value: function measureText(ctx) { + var measureCache = this.measureCache; + + if (~measureCache) { + return measureCache; + } + + var renderText = this.getText(); + var measure = this.measureTargetText(ctx, renderText); + this.measureCache = measure; + return measure; + } + }, { + key: "measureTargetText", + value: function measureTargetText(ctx, targetText) { + if (!targetText.length) { + return 0; + } + + var parent = this.parent; + var customFont = parent.getStyle('font-family').getDefinition(); + + if (customFont) { + var _context7; + + var fontSize = this.getFontSize(); + var text = customFont.isRTL ? _babel_runtime_corejs3_core_js_stable_instance_reverse__WEBPACK_IMPORTED_MODULE_34___default()(_context7 = targetText.split('')).call(_context7).join('') : targetText; + var dx = toNumbers(parent.getAttribute('dx').getString()); + var len = text.length; + var _measure = 0; + + for (var i = 0; i < len; i++) { + var glyph = this.getGlyph(customFont, text, i); + _measure += (glyph.horizAdvX || customFont.horizAdvX) * fontSize / customFont.fontFace.unitsPerEm; + + if (typeof dx[i] !== 'undefined' && !isNaN(dx[i])) { + _measure += dx[i]; + } + } + + return _measure; + } + + if (!ctx.measureText) { + return targetText.length * 10; + } + + ctx.save(); + this.setContext(ctx, true); + + var _ctx$measureText = ctx.measureText(targetText), + measure = _ctx$measureText.width; + + this.clearContext(ctx); + ctx.restore(); + return measure; + } + }]); + + return TextElement; +}(RenderedElement); + +function _createSuper$6(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$6(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$6() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var TSpanElement = /*#__PURE__*/function (_TextElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(TSpanElement, _TextElement); + + var _super = _createSuper$6(TSpanElement); + + function TSpanElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, TSpanElement); + + _this = _super.call(this, document, node, (this instanceof TSpanElement ? this.constructor : void 0) === TSpanElement ? true : captureTextNodes); + _this.type = 'tspan'; // if this node has children, then they own the text + + _this.text = _this.children.length > 0 ? '' : _this.getTextFromNode(); + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(TSpanElement, [{ + key: "getText", + value: function getText() { + return this.text; + } + }]); + + return TSpanElement; +}(TextElement); + +function _createSuper$7(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$7(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$7() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var TextNode = /*#__PURE__*/function (_TSpanElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(TextNode, _TSpanElement); + + var _super = _createSuper$7(TextNode); + + function TextNode() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, TextNode); + + _this = _super.apply(this, arguments); + _this.type = 'textNode'; + return _this; + } + + return TextNode; +}(TSpanElement); + +function _createSuper$8(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$8(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$8() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var PathParser = /*#__PURE__*/function (_SVGPathData) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(PathParser, _SVGPathData); + + var _super = _createSuper$8(PathParser); + + function PathParser(path) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, PathParser); + + _this = _super.call(this, path // Fix spaces after signs. + .replace(/[+-.]\s+/g, '-') // Remove invalid part. + .replace(/[^MmZzLlHhVvCcSsQqTtAae\d\s.,+-].*/g, '')); + _this.control = null; + _this.start = null; + _this.current = null; + _this.command = null; + _this.commands = _this.commands; + _this.i = -1; + _this.previousCommand = null; + _this.points = []; + _this.angles = []; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(PathParser, [{ + key: "reset", + value: function reset() { + this.i = -1; + this.command = null; + this.previousCommand = null; + this.start = new Point(0, 0); + this.control = new Point(0, 0); + this.current = new Point(0, 0); + this.points = []; + this.angles = []; + } + }, { + key: "isEnd", + value: function isEnd() { + var i = this.i, + commands = this.commands; + return i >= commands.length - 1; + } + }, { + key: "next", + value: function next() { + var command = this.commands[++this.i]; + this.previousCommand = this.command; + this.command = command; + return command; + } + }, { + key: "getPoint", + value: function getPoint() { + var xProp = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'x'; + var yProp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'y'; + var point = new Point(this.command[xProp], this.command[yProp]); + return this.makeAbsolute(point); + } + }, { + key: "getAsControlPoint", + value: function getAsControlPoint(xProp, yProp) { + var point = this.getPoint(xProp, yProp); + this.control = point; + return point; + } + }, { + key: "getAsCurrentPoint", + value: function getAsCurrentPoint(xProp, yProp) { + var point = this.getPoint(xProp, yProp); + this.current = point; + return point; + } + }, { + key: "getReflectedControlPoint", + value: function getReflectedControlPoint() { + var previousCommand = this.previousCommand.type; + + if (previousCommand !== svg_pathdata__WEBPACK_IMPORTED_MODULE_38__.SVGPathData.CURVE_TO && previousCommand !== svg_pathdata__WEBPACK_IMPORTED_MODULE_38__.SVGPathData.SMOOTH_CURVE_TO && previousCommand !== svg_pathdata__WEBPACK_IMPORTED_MODULE_38__.SVGPathData.QUAD_TO && previousCommand !== svg_pathdata__WEBPACK_IMPORTED_MODULE_38__.SVGPathData.SMOOTH_QUAD_TO) { + return this.current; + } // reflect point + + + var _this$current = this.current, + cx = _this$current.x, + cy = _this$current.y, + _this$control = this.control, + ox = _this$control.x, + oy = _this$control.y; + var point = new Point(2 * cx - ox, 2 * cy - oy); + return point; + } + }, { + key: "makeAbsolute", + value: function makeAbsolute(point) { + if (this.command.relative) { + var _this$current2 = this.current, + x = _this$current2.x, + y = _this$current2.y; + point.x += x; + point.y += y; + } + + return point; + } + }, { + key: "addMarker", + value: function addMarker(point, from, priorTo) { + var points = this.points, + angles = this.angles; // if the last angle isn't filled in because we didn't have this point yet ... + + if (priorTo && angles.length > 0 && !angles[angles.length - 1]) { + angles[angles.length - 1] = points[points.length - 1].angleTo(priorTo); + } + + this.addMarkerAngle(point, from ? from.angleTo(point) : null); + } + }, { + key: "addMarkerAngle", + value: function addMarkerAngle(point, angle) { + this.points.push(point); + this.angles.push(angle); + } + }, { + key: "getMarkerPoints", + value: function getMarkerPoints() { + return this.points; + } + }, { + key: "getMarkerAngles", + value: function getMarkerAngles() { + var angles = this.angles; + var len = angles.length; + + for (var i = 0; i < len; i++) { + if (!angles[i]) { + for (var j = i + 1; j < len; j++) { + if (angles[j]) { + angles[i] = angles[j]; + break; + } + } + } + } + + return angles; + } + }]); + + return PathParser; +}(svg_pathdata__WEBPACK_IMPORTED_MODULE_38__.SVGPathData); + +function _createSuper$9(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$9(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$9() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var PathElement = /*#__PURE__*/function (_RenderedElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(PathElement, _RenderedElement); + + var _super = _createSuper$9(PathElement); + + function PathElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, PathElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.type = 'path'; + _this.pathParser = null; + _this.pathParser = new PathParser(_this.getAttribute('d').getString()); + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(PathElement, [{ + key: "path", + value: function path(ctx) { + var pathParser = this.pathParser; + var boundingBox = new BoundingBox(); + pathParser.reset(); + + if (ctx) { + ctx.beginPath(); + } + + while (!pathParser.isEnd()) { + switch (pathParser.next().type) { + case PathParser.MOVE_TO: + this.pathM(ctx, boundingBox); + break; + + case PathParser.LINE_TO: + this.pathL(ctx, boundingBox); + break; + + case PathParser.HORIZ_LINE_TO: + this.pathH(ctx, boundingBox); + break; + + case PathParser.VERT_LINE_TO: + this.pathV(ctx, boundingBox); + break; + + case PathParser.CURVE_TO: + this.pathC(ctx, boundingBox); + break; + + case PathParser.SMOOTH_CURVE_TO: + this.pathS(ctx, boundingBox); + break; + + case PathParser.QUAD_TO: + this.pathQ(ctx, boundingBox); + break; + + case PathParser.SMOOTH_QUAD_TO: + this.pathT(ctx, boundingBox); + break; + + case PathParser.ARC: + this.pathA(ctx, boundingBox); + break; + + case PathParser.CLOSE_PATH: + this.pathZ(ctx, boundingBox); + break; + } + } + + return boundingBox; + } + }, { + key: "getBoundingBox", + value: function getBoundingBox(_) { + return this.path(); + } + }, { + key: "getMarkers", + value: function getMarkers() { + var pathParser = this.pathParser; + var points = pathParser.getMarkerPoints(); + var angles = pathParser.getMarkerAngles(); + + var markers = _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_2___default()(points).call(points, function (point, i) { + return [point, angles[i]]; + }); + + return markers; + } + }, { + key: "renderChildren", + value: function renderChildren(ctx) { + this.path(ctx); + this.document.screen.mouse.checkPath(this, ctx); + var fillRuleStyleProp = this.getStyle('fill-rule'); + + if (ctx.fillStyle !== '') { + if (fillRuleStyleProp.getString('inherit') !== 'inherit') { + _babel_runtime_corejs3_core_js_stable_instance_fill__WEBPACK_IMPORTED_MODULE_37___default()(ctx).call(ctx, fillRuleStyleProp.getString()); + } else { + _babel_runtime_corejs3_core_js_stable_instance_fill__WEBPACK_IMPORTED_MODULE_37___default()(ctx).call(ctx); + } + } + + if (ctx.strokeStyle !== '') { + ctx.stroke(); + } + + var markers = this.getMarkers(); + + if (markers) { + var markersLastIndex = markers.length - 1; + var markerStartStyleProp = this.getStyle('marker-start'); + var markerMidStyleProp = this.getStyle('marker-mid'); + var markerEndStyleProp = this.getStyle('marker-end'); + + if (markerStartStyleProp.isUrlDefinition()) { + var marker = markerStartStyleProp.getDefinition(); + + var _markers$ = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(markers[0], 2), + point = _markers$[0], + angle = _markers$[1]; + + marker.render(ctx, point, angle); + } + + if (markerMidStyleProp.isUrlDefinition()) { + var _marker = markerMidStyleProp.getDefinition(); + + for (var i = 1; i < markersLastIndex; i++) { + var _markers$i = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(markers[i], 2), + _point = _markers$i[0], + _angle = _markers$i[1]; + + _marker.render(ctx, _point, _angle); + } + } + + if (markerEndStyleProp.isUrlDefinition()) { + var _marker2 = markerEndStyleProp.getDefinition(); + + var _markers$markersLastI = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(markers[markersLastIndex], 2), + _point2 = _markers$markersLastI[0], + _angle2 = _markers$markersLastI[1]; + + _marker2.render(ctx, _point2, _angle2); + } + } + } + }, { + key: "pathM", + value: function pathM(ctx, boundingBox) { + var pathParser = this.pathParser; + + var _PathElement$pathM = PathElement.pathM(pathParser), + point = _PathElement$pathM.point; + + var x = point.x, + y = point.y; + pathParser.addMarker(point); + boundingBox.addPoint(x, y); + + if (ctx) { + ctx.moveTo(x, y); + } + } + }, { + key: "pathL", + value: function pathL(ctx, boundingBox) { + var pathParser = this.pathParser; + + var _PathElement$pathL = PathElement.pathL(pathParser), + current = _PathElement$pathL.current, + point = _PathElement$pathL.point; + + var x = point.x, + y = point.y; + pathParser.addMarker(point, current); + boundingBox.addPoint(x, y); + + if (ctx) { + ctx.lineTo(x, y); + } + } + }, { + key: "pathH", + value: function pathH(ctx, boundingBox) { + var pathParser = this.pathParser; + + var _PathElement$pathH = PathElement.pathH(pathParser), + current = _PathElement$pathH.current, + point = _PathElement$pathH.point; + + var x = point.x, + y = point.y; + pathParser.addMarker(point, current); + boundingBox.addPoint(x, y); + + if (ctx) { + ctx.lineTo(x, y); + } + } + }, { + key: "pathV", + value: function pathV(ctx, boundingBox) { + var pathParser = this.pathParser; + + var _PathElement$pathV = PathElement.pathV(pathParser), + current = _PathElement$pathV.current, + point = _PathElement$pathV.point; + + var x = point.x, + y = point.y; + pathParser.addMarker(point, current); + boundingBox.addPoint(x, y); + + if (ctx) { + ctx.lineTo(x, y); + } + } + }, { + key: "pathC", + value: function pathC(ctx, boundingBox) { + var pathParser = this.pathParser; + + var _PathElement$pathC = PathElement.pathC(pathParser), + current = _PathElement$pathC.current, + point = _PathElement$pathC.point, + controlPoint = _PathElement$pathC.controlPoint, + currentPoint = _PathElement$pathC.currentPoint; + + pathParser.addMarker(currentPoint, controlPoint, point); + boundingBox.addBezierCurve(current.x, current.y, point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y); + + if (ctx) { + ctx.bezierCurveTo(point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y); + } + } + }, { + key: "pathS", + value: function pathS(ctx, boundingBox) { + var pathParser = this.pathParser; + + var _PathElement$pathS = PathElement.pathS(pathParser), + current = _PathElement$pathS.current, + point = _PathElement$pathS.point, + controlPoint = _PathElement$pathS.controlPoint, + currentPoint = _PathElement$pathS.currentPoint; + + pathParser.addMarker(currentPoint, controlPoint, point); + boundingBox.addBezierCurve(current.x, current.y, point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y); + + if (ctx) { + ctx.bezierCurveTo(point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y); + } + } + }, { + key: "pathQ", + value: function pathQ(ctx, boundingBox) { + var pathParser = this.pathParser; + + var _PathElement$pathQ = PathElement.pathQ(pathParser), + current = _PathElement$pathQ.current, + controlPoint = _PathElement$pathQ.controlPoint, + currentPoint = _PathElement$pathQ.currentPoint; + + pathParser.addMarker(currentPoint, controlPoint, controlPoint); + boundingBox.addQuadraticCurve(current.x, current.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y); + + if (ctx) { + ctx.quadraticCurveTo(controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y); + } + } + }, { + key: "pathT", + value: function pathT(ctx, boundingBox) { + var pathParser = this.pathParser; + + var _PathElement$pathT = PathElement.pathT(pathParser), + current = _PathElement$pathT.current, + controlPoint = _PathElement$pathT.controlPoint, + currentPoint = _PathElement$pathT.currentPoint; + + pathParser.addMarker(currentPoint, controlPoint, controlPoint); + boundingBox.addQuadraticCurve(current.x, current.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y); + + if (ctx) { + ctx.quadraticCurveTo(controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y); + } + } + }, { + key: "pathA", + value: function pathA(ctx, boundingBox) { + var pathParser = this.pathParser; + + var _PathElement$pathA = PathElement.pathA(pathParser), + currentPoint = _PathElement$pathA.currentPoint, + rX = _PathElement$pathA.rX, + rY = _PathElement$pathA.rY, + sweepFlag = _PathElement$pathA.sweepFlag, + xAxisRotation = _PathElement$pathA.xAxisRotation, + centp = _PathElement$pathA.centp, + a1 = _PathElement$pathA.a1, + ad = _PathElement$pathA.ad; // for markers + + + var dir = 1 - sweepFlag ? 1.0 : -1.0; + var ah = a1 + dir * (ad / 2.0); + var halfWay = new Point(centp.x + rX * Math.cos(ah), centp.y + rY * Math.sin(ah)); + pathParser.addMarkerAngle(halfWay, ah - dir * Math.PI / 2); + pathParser.addMarkerAngle(currentPoint, ah - dir * Math.PI); + boundingBox.addPoint(currentPoint.x, currentPoint.y); // TODO: this is too naive, make it better + + if (ctx && !isNaN(a1) && !isNaN(ad)) { + var r = rX > rY ? rX : rY; + var sx = rX > rY ? 1 : rX / rY; + var sy = rX > rY ? rY / rX : 1; + ctx.translate(centp.x, centp.y); + ctx.rotate(xAxisRotation); + ctx.scale(sx, sy); + ctx.arc(0, 0, r, a1, a1 + ad, Boolean(1 - sweepFlag)); + ctx.scale(1 / sx, 1 / sy); + ctx.rotate(-xAxisRotation); + ctx.translate(-centp.x, -centp.y); + } + } + }, { + key: "pathZ", + value: function pathZ(ctx, boundingBox) { + PathElement.pathZ(this.pathParser); + + if (ctx) { + // only close path if it is not a straight line + if (boundingBox.x1 !== boundingBox.x2 && boundingBox.y1 !== boundingBox.y2) { + ctx.closePath(); + } + } + } + }], [{ + key: "pathM", + value: function pathM(pathParser) { + var point = pathParser.getAsCurrentPoint(); + pathParser.start = pathParser.current; + return { + point: point + }; + } + }, { + key: "pathL", + value: function pathL(pathParser) { + var current = pathParser.current; + var point = pathParser.getAsCurrentPoint(); + return { + current: current, + point: point + }; + } + }, { + key: "pathH", + value: function pathH(pathParser) { + var current = pathParser.current, + command = pathParser.command; + var point = new Point((command.relative ? current.x : 0) + command.x, current.y); + pathParser.current = point; + return { + current: current, + point: point + }; + } + }, { + key: "pathV", + value: function pathV(pathParser) { + var current = pathParser.current, + command = pathParser.command; + var point = new Point(current.x, (command.relative ? current.y : 0) + command.y); + pathParser.current = point; + return { + current: current, + point: point + }; + } + }, { + key: "pathC", + value: function pathC(pathParser) { + var current = pathParser.current; + var point = pathParser.getPoint('x1', 'y1'); + var controlPoint = pathParser.getAsControlPoint('x2', 'y2'); + var currentPoint = pathParser.getAsCurrentPoint(); + return { + current: current, + point: point, + controlPoint: controlPoint, + currentPoint: currentPoint + }; + } + }, { + key: "pathS", + value: function pathS(pathParser) { + var current = pathParser.current; + var point = pathParser.getReflectedControlPoint(); + var controlPoint = pathParser.getAsControlPoint('x2', 'y2'); + var currentPoint = pathParser.getAsCurrentPoint(); + return { + current: current, + point: point, + controlPoint: controlPoint, + currentPoint: currentPoint + }; + } + }, { + key: "pathQ", + value: function pathQ(pathParser) { + var current = pathParser.current; + var controlPoint = pathParser.getAsControlPoint('x1', 'y1'); + var currentPoint = pathParser.getAsCurrentPoint(); + return { + current: current, + controlPoint: controlPoint, + currentPoint: currentPoint + }; + } + }, { + key: "pathT", + value: function pathT(pathParser) { + var current = pathParser.current; + var controlPoint = pathParser.getReflectedControlPoint(); + pathParser.control = controlPoint; + var currentPoint = pathParser.getAsCurrentPoint(); + return { + current: current, + controlPoint: controlPoint, + currentPoint: currentPoint + }; + } + }, { + key: "pathA", + value: function pathA(pathParser) { + var current = pathParser.current, + command = pathParser.command; + var rX = command.rX, + rY = command.rY, + xRot = command.xRot, + lArcFlag = command.lArcFlag, + sweepFlag = command.sweepFlag; + var xAxisRotation = xRot * (Math.PI / 180.0); + var currentPoint = pathParser.getAsCurrentPoint(); // Conversion from endpoint to center parameterization + // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes + // x1', y1' + + var currp = new Point(Math.cos(xAxisRotation) * (current.x - currentPoint.x) / 2.0 + Math.sin(xAxisRotation) * (current.y - currentPoint.y) / 2.0, -Math.sin(xAxisRotation) * (current.x - currentPoint.x) / 2.0 + Math.cos(xAxisRotation) * (current.y - currentPoint.y) / 2.0); // adjust radii + + var l = Math.pow(currp.x, 2) / Math.pow(rX, 2) + Math.pow(currp.y, 2) / Math.pow(rY, 2); + + if (l > 1) { + rX *= Math.sqrt(l); + rY *= Math.sqrt(l); + } // cx', cy' + + + var s = (lArcFlag === sweepFlag ? -1 : 1) * Math.sqrt((Math.pow(rX, 2) * Math.pow(rY, 2) - Math.pow(rX, 2) * Math.pow(currp.y, 2) - Math.pow(rY, 2) * Math.pow(currp.x, 2)) / (Math.pow(rX, 2) * Math.pow(currp.y, 2) + Math.pow(rY, 2) * Math.pow(currp.x, 2))); + + if (isNaN(s)) { + s = 0; + } + + var cpp = new Point(s * rX * currp.y / rY, s * -rY * currp.x / rX); // cx, cy + + var centp = new Point((current.x + currentPoint.x) / 2.0 + Math.cos(xAxisRotation) * cpp.x - Math.sin(xAxisRotation) * cpp.y, (current.y + currentPoint.y) / 2.0 + Math.sin(xAxisRotation) * cpp.x + Math.cos(xAxisRotation) * cpp.y); // initial angle + + var a1 = vectorsAngle([1, 0], [(currp.x - cpp.x) / rX, (currp.y - cpp.y) / rY]); // θ1 + // angle delta + + var u = [(currp.x - cpp.x) / rX, (currp.y - cpp.y) / rY]; + var v = [(-currp.x - cpp.x) / rX, (-currp.y - cpp.y) / rY]; + var ad = vectorsAngle(u, v); // Δθ + + if (vectorsRatio(u, v) <= -1) { + ad = Math.PI; + } + + if (vectorsRatio(u, v) >= 1) { + ad = 0; + } + + return { + currentPoint: currentPoint, + rX: rX, + rY: rY, + sweepFlag: sweepFlag, + xAxisRotation: xAxisRotation, + centp: centp, + a1: a1, + ad: ad + }; + } + }, { + key: "pathZ", + value: function pathZ(pathParser) { + pathParser.current = pathParser.start; + } + }]); + + return PathElement; +}(RenderedElement); + +function _createSuper$a(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$a(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$a() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var SVGElement = /*#__PURE__*/function (_RenderedElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(SVGElement, _RenderedElement); + + var _super = _createSuper$a(SVGElement); + + function SVGElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, SVGElement); + + _this = _super.apply(this, arguments); + _this.type = 'svg'; + _this.root = false; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(SVGElement, [{ + key: "setContext", + value: function setContext(ctx) { + var document = this.document; + var screen = document.screen, + window = document.window; + var canvas = ctx.canvas; + screen.setDefaults(ctx); + + if (canvas.style && typeof ctx.font !== 'undefined' && window && typeof window.getComputedStyle !== 'undefined') { + ctx.font = window.getComputedStyle(canvas).getPropertyValue('font'); + var fontSizeProp = new Property(document, 'fontSize', Font.parse(ctx.font).fontSize); + + if (fontSizeProp.hasValue()) { + document.rootEmSize = fontSizeProp.getPixels('y'); + document.emSize = document.rootEmSize; + } + } // create new view port + + + if (!this.getAttribute('x').hasValue()) { + this.getAttribute('x', true).setValue(0); + } + + if (!this.getAttribute('y').hasValue()) { + this.getAttribute('y', true).setValue(0); + } + + var _screen$viewPort = screen.viewPort, + width = _screen$viewPort.width, + height = _screen$viewPort.height; + + if (!this.getStyle('width').hasValue()) { + this.getStyle('width', true).setValue('100%'); + } + + if (!this.getStyle('height').hasValue()) { + this.getStyle('height', true).setValue('100%'); + } + + if (!this.getStyle('color').hasValue()) { + this.getStyle('color', true).setValue('black'); + } + + var refXAttr = this.getAttribute('refX'); + var refYAttr = this.getAttribute('refY'); + var viewBoxAttr = this.getAttribute('viewBox'); + var viewBox = viewBoxAttr.hasValue() ? toNumbers(viewBoxAttr.getString()) : null; + var clip = !this.root && this.getStyle('overflow').getValue('hidden') !== 'visible'; + var minX = 0; + var minY = 0; + var clipX = 0; + var clipY = 0; + + if (viewBox) { + minX = viewBox[0]; + minY = viewBox[1]; + } + + if (!this.root) { + width = this.getStyle('width').getPixels('x'); + height = this.getStyle('height').getPixels('y'); + + if (this.type === 'marker') { + clipX = minX; + clipY = minY; + minX = 0; + minY = 0; + } + } + + screen.viewPort.setCurrent(width, height); + + if (this.node // is not temporary SVGElement + && this.getStyle('transform', false, true).hasValue() && !this.getStyle('transform-origin', false, true).hasValue()) { + this.getStyle('transform-origin', true, true).setValue('50% 50%'); + } + + (0,_babel_runtime_corejs3_helpers_get__WEBPACK_IMPORTED_MODULE_36__.default)((0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(SVGElement.prototype), "setContext", this).call(this, ctx); + + ctx.translate(this.getAttribute('x').getPixels('x'), this.getAttribute('y').getPixels('y')); + + if (viewBox) { + width = viewBox[2]; + height = viewBox[3]; + } + + document.setViewBox({ + ctx: ctx, + aspectRatio: this.getAttribute('preserveAspectRatio').getString(), + width: screen.viewPort.width, + desiredWidth: width, + height: screen.viewPort.height, + desiredHeight: height, + minX: minX, + minY: minY, + refX: refXAttr.getValue(), + refY: refYAttr.getValue(), + clip: clip, + clipX: clipX, + clipY: clipY + }); + + if (viewBox) { + screen.viewPort.removeCurrent(); + screen.viewPort.setCurrent(width, height); + } + } + }, { + key: "clearContext", + value: function clearContext(ctx) { + (0,_babel_runtime_corejs3_helpers_get__WEBPACK_IMPORTED_MODULE_36__.default)((0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(SVGElement.prototype), "clearContext", this).call(this, ctx); + + this.document.screen.viewPort.removeCurrent(); + } + /** + * Resize SVG to fit in given size. + * @param width + * @param height + * @param preserveAspectRatio + */ + + }, { + key: "resize", + value: function resize(width) { + var height = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : width; + var preserveAspectRatio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var widthAttr = this.getAttribute('width', true); + var heightAttr = this.getAttribute('height', true); + var viewBoxAttr = this.getAttribute('viewBox'); + var styleAttr = this.getAttribute('style'); + var originWidth = widthAttr.getNumber(0); + var originHeight = heightAttr.getNumber(0); + + if (preserveAspectRatio) { + if (typeof preserveAspectRatio === 'string') { + this.getAttribute('preserveAspectRatio', true).setValue(preserveAspectRatio); + } else { + var preserveAspectRatioAttr = this.getAttribute('preserveAspectRatio'); + + if (preserveAspectRatioAttr.hasValue()) { + preserveAspectRatioAttr.setValue(preserveAspectRatioAttr.getString().replace(/^\s*(\S.*\S)\s*$/, '$1')); + } + } + } + + widthAttr.setValue(width); + heightAttr.setValue(height); + + if (!viewBoxAttr.hasValue()) { + var _context; + + viewBoxAttr.setValue(_babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_17___default()(_context = "0 0 ".concat(originWidth || width, " ")).call(_context, originHeight || height)); + } + + if (styleAttr.hasValue()) { + var widthStyle = this.getStyle('width'); + var heightStyle = this.getStyle('height'); + + if (widthStyle.hasValue()) { + widthStyle.setValue("".concat(width, "px")); + } + + if (heightStyle.hasValue()) { + heightStyle.setValue("".concat(height, "px")); + } + } + } + }]); + + return SVGElement; +}(RenderedElement); + +function _createSuper$b(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$b(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$b() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var RectElement = /*#__PURE__*/function (_PathElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(RectElement, _PathElement); + + var _super = _createSuper$b(RectElement); + + function RectElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, RectElement); + + _this = _super.apply(this, arguments); + _this.type = 'rect'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(RectElement, [{ + key: "path", + value: function path(ctx) { + var x = this.getAttribute('x').getPixels('x'); + var y = this.getAttribute('y').getPixels('y'); + var width = this.getStyle('width', false, true).getPixels('x'); + var height = this.getStyle('height', false, true).getPixels('y'); + var rxAttr = this.getAttribute('rx'); + var ryAttr = this.getAttribute('ry'); + var rx = rxAttr.getPixels('x'); + var ry = ryAttr.getPixels('y'); + + if (rxAttr.hasValue() && !ryAttr.hasValue()) { + ry = rx; + } + + if (ryAttr.hasValue() && !rxAttr.hasValue()) { + rx = ry; + } + + rx = Math.min(rx, width / 2.0); + ry = Math.min(ry, height / 2.0); + + if (ctx) { + var KAPPA = 4 * ((Math.sqrt(2) - 1) / 3); + ctx.beginPath(); // always start the path so we don't fill prior paths + + if (height > 0 && width > 0) { + ctx.moveTo(x + rx, y); + ctx.lineTo(x + width - rx, y); + ctx.bezierCurveTo(x + width - rx + KAPPA * rx, y, x + width, y + ry - KAPPA * ry, x + width, y + ry); + ctx.lineTo(x + width, y + height - ry); + ctx.bezierCurveTo(x + width, y + height - ry + KAPPA * ry, x + width - rx + KAPPA * rx, y + height, x + width - rx, y + height); + ctx.lineTo(x + rx, y + height); + ctx.bezierCurveTo(x + rx - KAPPA * rx, y + height, x, y + height - ry + KAPPA * ry, x, y + height - ry); + ctx.lineTo(x, y + ry); + ctx.bezierCurveTo(x, y + ry - KAPPA * ry, x + rx - KAPPA * rx, y, x + rx, y); + ctx.closePath(); + } + } + + return new BoundingBox(x, y, x + width, y + height); + } + }, { + key: "getMarkers", + value: function getMarkers() { + return null; + } + }]); + + return RectElement; +}(PathElement); + +function _createSuper$c(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$c(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$c() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var CircleElement = /*#__PURE__*/function (_PathElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(CircleElement, _PathElement); + + var _super = _createSuper$c(CircleElement); + + function CircleElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, CircleElement); + + _this = _super.apply(this, arguments); + _this.type = 'circle'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(CircleElement, [{ + key: "path", + value: function path(ctx) { + var cx = this.getAttribute('cx').getPixels('x'); + var cy = this.getAttribute('cy').getPixels('y'); + var r = this.getAttribute('r').getPixels(); + + if (ctx && r > 0) { + ctx.beginPath(); + ctx.arc(cx, cy, r, 0, Math.PI * 2, false); + ctx.closePath(); + } + + return new BoundingBox(cx - r, cy - r, cx + r, cy + r); + } + }, { + key: "getMarkers", + value: function getMarkers() { + return null; + } + }]); + + return CircleElement; +}(PathElement); + +function _createSuper$d(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$d(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$d() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var EllipseElement = /*#__PURE__*/function (_PathElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(EllipseElement, _PathElement); + + var _super = _createSuper$d(EllipseElement); + + function EllipseElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, EllipseElement); + + _this = _super.apply(this, arguments); + _this.type = 'ellipse'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(EllipseElement, [{ + key: "path", + value: function path(ctx) { + var KAPPA = 4 * ((Math.sqrt(2) - 1) / 3); + var rx = this.getAttribute('rx').getPixels('x'); + var ry = this.getAttribute('ry').getPixels('y'); + var cx = this.getAttribute('cx').getPixels('x'); + var cy = this.getAttribute('cy').getPixels('y'); + + if (ctx && rx > 0 && ry > 0) { + ctx.beginPath(); + ctx.moveTo(cx + rx, cy); + ctx.bezierCurveTo(cx + rx, cy + KAPPA * ry, cx + KAPPA * rx, cy + ry, cx, cy + ry); + ctx.bezierCurveTo(cx - KAPPA * rx, cy + ry, cx - rx, cy + KAPPA * ry, cx - rx, cy); + ctx.bezierCurveTo(cx - rx, cy - KAPPA * ry, cx - KAPPA * rx, cy - ry, cx, cy - ry); + ctx.bezierCurveTo(cx + KAPPA * rx, cy - ry, cx + rx, cy - KAPPA * ry, cx + rx, cy); + ctx.closePath(); + } + + return new BoundingBox(cx - rx, cy - ry, cx + rx, cy + ry); + } + }, { + key: "getMarkers", + value: function getMarkers() { + return null; + } + }]); + + return EllipseElement; +}(PathElement); + +function _createSuper$e(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$e(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$e() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var LineElement = /*#__PURE__*/function (_PathElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(LineElement, _PathElement); + + var _super = _createSuper$e(LineElement); + + function LineElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, LineElement); + + _this = _super.apply(this, arguments); + _this.type = 'line'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(LineElement, [{ + key: "getPoints", + value: function getPoints() { + return [new Point(this.getAttribute('x1').getPixels('x'), this.getAttribute('y1').getPixels('y')), new Point(this.getAttribute('x2').getPixels('x'), this.getAttribute('y2').getPixels('y'))]; + } + }, { + key: "path", + value: function path(ctx) { + var _this$getPoints = this.getPoints(), + _this$getPoints2 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_this$getPoints, 2), + _this$getPoints2$ = _this$getPoints2[0], + x0 = _this$getPoints2$.x, + y0 = _this$getPoints2$.y, + _this$getPoints2$2 = _this$getPoints2[1], + x1 = _this$getPoints2$2.x, + y1 = _this$getPoints2$2.y; + + if (ctx) { + ctx.beginPath(); + ctx.moveTo(x0, y0); + ctx.lineTo(x1, y1); + } + + return new BoundingBox(x0, y0, x1, y1); + } + }, { + key: "getMarkers", + value: function getMarkers() { + var _this$getPoints3 = this.getPoints(), + _this$getPoints4 = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(_this$getPoints3, 2), + p0 = _this$getPoints4[0], + p1 = _this$getPoints4[1]; + + var a = p0.angleTo(p1); + return [[p0, a], [p1, a]]; + } + }]); + + return LineElement; +}(PathElement); + +function _createSuper$f(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$f(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$f() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var PolylineElement = /*#__PURE__*/function (_PathElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(PolylineElement, _PathElement); + + var _super = _createSuper$f(PolylineElement); + + function PolylineElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, PolylineElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.type = 'polyline'; + _this.points = []; + _this.points = Point.parsePath(_this.getAttribute('points').getString()); + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(PolylineElement, [{ + key: "path", + value: function path(ctx) { + var points = this.points; + + var _points = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(points, 1), + _points$ = _points[0], + x0 = _points$.x, + y0 = _points$.y; + + var boundingBox = new BoundingBox(x0, y0); + + if (ctx) { + ctx.beginPath(); + ctx.moveTo(x0, y0); + } + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(points).call(points, function (_ref) { + var x = _ref.x, + y = _ref.y; + boundingBox.addPoint(x, y); + + if (ctx) { + ctx.lineTo(x, y); + } + }); + + return boundingBox; + } + }, { + key: "getMarkers", + value: function getMarkers() { + var points = this.points; + var lastIndex = points.length - 1; + var markers = []; + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(points).call(points, function (point, i) { + if (i === lastIndex) { + return; + } + + markers.push([point, point.angleTo(points[i + 1])]); + }); + + if (markers.length > 0) { + markers.push([points[points.length - 1], markers[markers.length - 1][1]]); + } + + return markers; + } + }]); + + return PolylineElement; +}(PathElement); + +function _createSuper$g(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$g(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$g() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var PolygonElement = /*#__PURE__*/function (_PolylineElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(PolygonElement, _PolylineElement); + + var _super = _createSuper$g(PolygonElement); + + function PolygonElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, PolygonElement); + + _this = _super.apply(this, arguments); + _this.type = 'polygon'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(PolygonElement, [{ + key: "path", + value: function path(ctx) { + var boundingBox = (0,_babel_runtime_corejs3_helpers_get__WEBPACK_IMPORTED_MODULE_36__.default)((0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(PolygonElement.prototype), "path", this).call(this, ctx); + + var _this$points = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(this.points, 1), + _this$points$ = _this$points[0], + x = _this$points$.x, + y = _this$points$.y; + + if (ctx) { + ctx.lineTo(x, y); + ctx.closePath(); + } + + return boundingBox; + } + }]); + + return PolygonElement; +}(PolylineElement); + +function _createSuper$h(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$h(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$h() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var PatternElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(PatternElement, _Element); + + var _super = _createSuper$h(PatternElement); + + function PatternElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, PatternElement); + + _this = _super.apply(this, arguments); + _this.type = 'pattern'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(PatternElement, [{ + key: "createPattern", + value: function createPattern(ctx, _, parentOpacityProp) { + var width = this.getStyle('width').getPixels('x', true); + var height = this.getStyle('height').getPixels('y', true); // render me using a temporary svg element + + var patternSvg = new SVGElement(this.document, null); + patternSvg.attributes.viewBox = new Property(this.document, 'viewBox', this.getAttribute('viewBox').getValue()); + patternSvg.attributes.width = new Property(this.document, 'width', "".concat(width, "px")); + patternSvg.attributes.height = new Property(this.document, 'height', "".concat(height, "px")); + patternSvg.attributes.transform = new Property(this.document, 'transform', this.getAttribute('patternTransform').getValue()); + patternSvg.children = this.children; + var patternCanvas = this.document.createCanvas(width, height); + var patternCtx = patternCanvas.getContext('2d'); + var xAttr = this.getAttribute('x'); + var yAttr = this.getAttribute('y'); + + if (xAttr.hasValue() && yAttr.hasValue()) { + patternCtx.translate(xAttr.getPixels('x', true), yAttr.getPixels('y', true)); + } + + if (parentOpacityProp.hasValue()) { + this.styles['fill-opacity'] = parentOpacityProp; + } else { + _babel_runtime_corejs3_core_js_stable_reflect_delete_property__WEBPACK_IMPORTED_MODULE_39___default()(this.styles, 'fill-opacity'); + } // render 3x3 grid so when we transform there's no white space on edges + + + for (var x = -1; x <= 1; x++) { + for (var y = -1; y <= 1; y++) { + patternCtx.save(); + patternSvg.attributes.x = new Property(this.document, 'x', x * patternCanvas.width); + patternSvg.attributes.y = new Property(this.document, 'y', y * patternCanvas.height); + patternSvg.render(patternCtx); + patternCtx.restore(); + } + } + + var pattern = ctx.createPattern(patternCanvas, 'repeat'); + return pattern; + } + }]); + + return PatternElement; +}(Element); + +function _createSuper$i(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$i(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$i() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var MarkerElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(MarkerElement, _Element); + + var _super = _createSuper$i(MarkerElement); + + function MarkerElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, MarkerElement); + + _this = _super.apply(this, arguments); + _this.type = 'marker'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(MarkerElement, [{ + key: "render", + value: function render(ctx, point, angle) { + if (!point) { + return; + } + + var x = point.x, + y = point.y; + var orient = this.getAttribute('orient').getValue('auto'); + var markerUnits = this.getAttribute('markerUnits').getValue('strokeWidth'); + ctx.translate(x, y); + + if (orient === 'auto') { + ctx.rotate(angle); + } + + if (markerUnits === 'strokeWidth') { + ctx.scale(ctx.lineWidth, ctx.lineWidth); + } + + ctx.save(); // render me using a temporary svg element + + var markerSvg = new SVGElement(this.document, null); + markerSvg.type = this.type; + markerSvg.attributes.viewBox = new Property(this.document, 'viewBox', this.getAttribute('viewBox').getValue()); + markerSvg.attributes.refX = new Property(this.document, 'refX', this.getAttribute('refX').getValue()); + markerSvg.attributes.refY = new Property(this.document, 'refY', this.getAttribute('refY').getValue()); + markerSvg.attributes.width = new Property(this.document, 'width', this.getAttribute('markerWidth').getValue()); + markerSvg.attributes.height = new Property(this.document, 'height', this.getAttribute('markerHeight').getValue()); + markerSvg.attributes.overflow = new Property(this.document, 'overflow', this.getAttribute('overflow').getValue()); + markerSvg.attributes.fill = new Property(this.document, 'fill', this.getAttribute('fill').getColor('black')); + markerSvg.attributes.stroke = new Property(this.document, 'stroke', this.getAttribute('stroke').getValue('none')); + markerSvg.children = this.children; + markerSvg.render(ctx); + ctx.restore(); + + if (markerUnits === 'strokeWidth') { + ctx.scale(1 / ctx.lineWidth, 1 / ctx.lineWidth); + } + + if (orient === 'auto') { + ctx.rotate(-angle); + } + + ctx.translate(-x, -y); + } + }]); + + return MarkerElement; +}(Element); + +function _createSuper$j(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$j(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$j() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var DefsElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(DefsElement, _Element); + + var _super = _createSuper$j(DefsElement); + + function DefsElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, DefsElement); + + _this = _super.apply(this, arguments); + _this.type = 'defs'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(DefsElement, [{ + key: "render", + value: function render() {// NOOP + } + }]); + + return DefsElement; +}(Element); + +function _createSuper$k(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$k(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$k() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var GElement = /*#__PURE__*/function (_RenderedElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(GElement, _RenderedElement); + + var _super = _createSuper$k(GElement); + + function GElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, GElement); + + _this = _super.apply(this, arguments); + _this.type = 'g'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(GElement, [{ + key: "getBoundingBox", + value: function getBoundingBox(ctx) { + var _context; + + var boundingBox = new BoundingBox(); + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context = this.children).call(_context, function (child) { + boundingBox.addBoundingBox(child.getBoundingBox(ctx)); + }); + + return boundingBox; + } + }]); + + return GElement; +}(RenderedElement); + +function _createSuper$l(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$l(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$l() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var GradientElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(GradientElement, _Element); + + var _super = _createSuper$l(GradientElement); + + function GradientElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, GradientElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.attributesToInherit = ['gradientUnits']; + _this.stops = []; + + var _assertThisInitialize = (0,_babel_runtime_corejs3_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_40__.default)(_this), + stops = _assertThisInitialize.stops, + children = _assertThisInitialize.children; + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(children).call(children, function (child) { + if (child.type === 'stop') { + stops.push(child); + } + }); + + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(GradientElement, [{ + key: "getGradientUnits", + value: function getGradientUnits() { + return this.getAttribute('gradientUnits').getString('objectBoundingBox'); + } + }, { + key: "createGradient", + value: function createGradient(ctx, element, parentOpacityProp) { + var _this2 = this; + + // tslint:disable-next-line: no-this-assignment + var stopsContainer = this; + + if (this.getHrefAttribute().hasValue()) { + stopsContainer = this.getHrefAttribute().getDefinition(); + this.inheritStopContainer(stopsContainer); + } + + var _stopsContainer = stopsContainer, + stops = _stopsContainer.stops; + var gradient = this.getGradient(ctx, element); + + if (!gradient) { + return this.addParentOpacity(parentOpacityProp, stops[stops.length - 1].color); + } + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(stops).call(stops, function (stop) { + gradient.addColorStop(stop.offset, _this2.addParentOpacity(parentOpacityProp, stop.color)); + }); + + if (this.getAttribute('gradientTransform').hasValue()) { + // render as transformed pattern on temporary canvas + var document = this.document; + var _document$screen = document.screen, + MAX_VIRTUAL_PIXELS = _document$screen.MAX_VIRTUAL_PIXELS, + viewPort = _document$screen.viewPort; + + var _viewPort$viewPorts = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(viewPort.viewPorts, 1), + rootView = _viewPort$viewPorts[0]; + + var rect = new RectElement(document, null); + rect.attributes.x = new Property(document, 'x', -MAX_VIRTUAL_PIXELS / 3.0); + rect.attributes.y = new Property(document, 'y', -MAX_VIRTUAL_PIXELS / 3.0); + rect.attributes.width = new Property(document, 'width', MAX_VIRTUAL_PIXELS); + rect.attributes.height = new Property(document, 'height', MAX_VIRTUAL_PIXELS); + var group = new GElement(document, null); + group.attributes.transform = new Property(document, 'transform', this.getAttribute('gradientTransform').getValue()); + group.children = [rect]; + var patternSvg = new SVGElement(document, null); + patternSvg.attributes.x = new Property(document, 'x', 0); + patternSvg.attributes.y = new Property(document, 'y', 0); + patternSvg.attributes.width = new Property(document, 'width', rootView.width); + patternSvg.attributes.height = new Property(document, 'height', rootView.height); + patternSvg.children = [group]; + var patternCanvas = document.createCanvas(rootView.width, rootView.height); + var patternCtx = patternCanvas.getContext('2d'); + patternCtx.fillStyle = gradient; + patternSvg.render(patternCtx); + return patternCtx.createPattern(patternCanvas, 'no-repeat'); + } + + return gradient; + } + }, { + key: "inheritStopContainer", + value: function inheritStopContainer(stopsContainer) { + var _context, + _this3 = this; + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context = this.attributesToInherit).call(_context, function (attributeToInherit) { + if (!_this3.getAttribute(attributeToInherit).hasValue() && stopsContainer.getAttribute(attributeToInherit).hasValue()) { + _this3.getAttribute(attributeToInherit, true).setValue(stopsContainer.getAttribute(attributeToInherit).getValue()); + } + }); + } + }, { + key: "addParentOpacity", + value: function addParentOpacity(parentOpacityProp, color) { + if (parentOpacityProp.hasValue()) { + var colorProp = new Property(this.document, 'color', color); + return colorProp.addOpacity(parentOpacityProp).getColor(); + } + + return color; + } + }]); + + return GradientElement; +}(Element); + +function _createSuper$m(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$m(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$m() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var LinearGradientElement = /*#__PURE__*/function (_GradientElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(LinearGradientElement, _GradientElement); + + var _super = _createSuper$m(LinearGradientElement); + + function LinearGradientElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, LinearGradientElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.type = 'linearGradient'; + + _this.attributesToInherit.push('x1', 'y1', 'x2', 'y2'); + + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(LinearGradientElement, [{ + key: "getGradient", + value: function getGradient(ctx, element) { + var isBoundingBoxUnits = this.getGradientUnits() === 'objectBoundingBox'; + var boundingBox = isBoundingBoxUnits ? element.getBoundingBox(ctx) : null; + + if (isBoundingBoxUnits && !boundingBox) { + return null; + } + + if (!this.getAttribute('x1').hasValue() && !this.getAttribute('y1').hasValue() && !this.getAttribute('x2').hasValue() && !this.getAttribute('y2').hasValue()) { + this.getAttribute('x1', true).setValue(0); + this.getAttribute('y1', true).setValue(0); + this.getAttribute('x2', true).setValue(1); + this.getAttribute('y2', true).setValue(0); + } + + var x1 = isBoundingBoxUnits ? boundingBox.x + boundingBox.width * this.getAttribute('x1').getNumber() : this.getAttribute('x1').getPixels('x'); + var y1 = isBoundingBoxUnits ? boundingBox.y + boundingBox.height * this.getAttribute('y1').getNumber() : this.getAttribute('y1').getPixels('y'); + var x2 = isBoundingBoxUnits ? boundingBox.x + boundingBox.width * this.getAttribute('x2').getNumber() : this.getAttribute('x2').getPixels('x'); + var y2 = isBoundingBoxUnits ? boundingBox.y + boundingBox.height * this.getAttribute('y2').getNumber() : this.getAttribute('y2').getPixels('y'); + + if (x1 === x2 && y1 === y2) { + return null; + } + + return ctx.createLinearGradient(x1, y1, x2, y2); + } + }]); + + return LinearGradientElement; +}(GradientElement); + +function _createSuper$n(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$n(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$n() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var RadialGradientElement = /*#__PURE__*/function (_GradientElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(RadialGradientElement, _GradientElement); + + var _super = _createSuper$n(RadialGradientElement); + + function RadialGradientElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, RadialGradientElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.type = 'radialGradient'; + + _this.attributesToInherit.push('cx', 'cy', 'r', 'fx', 'fy', 'fr'); + + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(RadialGradientElement, [{ + key: "getGradient", + value: function getGradient(ctx, element) { + var isBoundingBoxUnits = this.getGradientUnits() === 'objectBoundingBox'; + var boundingBox = element.getBoundingBox(ctx); + + if (isBoundingBoxUnits && !boundingBox) { + return null; + } + + if (!this.getAttribute('cx').hasValue()) { + this.getAttribute('cx', true).setValue('50%'); + } + + if (!this.getAttribute('cy').hasValue()) { + this.getAttribute('cy', true).setValue('50%'); + } + + if (!this.getAttribute('r').hasValue()) { + this.getAttribute('r', true).setValue('50%'); + } + + var cx = isBoundingBoxUnits ? boundingBox.x + boundingBox.width * this.getAttribute('cx').getNumber() : this.getAttribute('cx').getPixels('x'); + var cy = isBoundingBoxUnits ? boundingBox.y + boundingBox.height * this.getAttribute('cy').getNumber() : this.getAttribute('cy').getPixels('y'); + var fx = cx; + var fy = cy; + + if (this.getAttribute('fx').hasValue()) { + fx = isBoundingBoxUnits ? boundingBox.x + boundingBox.width * this.getAttribute('fx').getNumber() : this.getAttribute('fx').getPixels('x'); + } + + if (this.getAttribute('fy').hasValue()) { + fy = isBoundingBoxUnits ? boundingBox.y + boundingBox.height * this.getAttribute('fy').getNumber() : this.getAttribute('fy').getPixels('y'); + } + + var r = isBoundingBoxUnits ? (boundingBox.width + boundingBox.height) / 2.0 * this.getAttribute('r').getNumber() : this.getAttribute('r').getPixels(); + var fr = this.getAttribute('fr').getPixels(); + return ctx.createRadialGradient(fx, fy, fr, cx, cy, r); + } + }]); + + return RadialGradientElement; +}(GradientElement); + +function _createSuper$o(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$o(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$o() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var StopElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(StopElement, _Element); + + var _super = _createSuper$o(StopElement); + + function StopElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, StopElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.type = 'stop'; + var offset = Math.max(0, Math.min(1, _this.getAttribute('offset').getNumber())); + + var stopOpacity = _this.getStyle('stop-opacity'); + + var stopColor = _this.getStyle('stop-color', true); + + if (stopColor.getString() === '') { + stopColor.setValue('#000'); + } + + if (stopOpacity.hasValue()) { + stopColor = stopColor.addOpacity(stopOpacity); + } + + _this.offset = offset; + _this.color = stopColor.getColor(); + return _this; + } + + return StopElement; +}(Element); + +function _createSuper$p(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$p(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$p() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var AnimateElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(AnimateElement, _Element); + + var _super = _createSuper$p(AnimateElement); + + function AnimateElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, AnimateElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.type = 'animate'; + _this.duration = 0; + _this.initialValue = null; + _this.initialUnits = ''; + _this.removed = false; + _this.frozen = false; + document.screen.animations.push((0,_babel_runtime_corejs3_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_40__.default)(_this)); + _this.begin = _this.getAttribute('begin').getMilliseconds(); + _this.maxDuration = _this.begin + _this.getAttribute('dur').getMilliseconds(); + _this.from = _this.getAttribute('from'); + _this.to = _this.getAttribute('to'); + _this.values = _this.getAttribute('values'); + + if (_babel_runtime_corejs3_core_js_stable_instance_values__WEBPACK_IMPORTED_MODULE_41___default()(_this).hasValue()) { + _babel_runtime_corejs3_core_js_stable_instance_values__WEBPACK_IMPORTED_MODULE_41___default()(_this).setValue(_babel_runtime_corejs3_core_js_stable_instance_values__WEBPACK_IMPORTED_MODULE_41___default()(_this).getString().split(';')); + } + + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(AnimateElement, [{ + key: "getProperty", + value: function getProperty() { + var attributeType = this.getAttribute('attributeType').getString(); + var attributeName = this.getAttribute('attributeName').getString(); + + if (attributeType === 'CSS') { + return this.parent.getStyle(attributeName, true); + } + + return this.parent.getAttribute(attributeName, true); + } + }, { + key: "calcValue", + value: function calcValue() { + var _context; + + var initialUnits = this.initialUnits; + + var _this$getProgress = this.getProgress(), + progress = _this$getProgress.progress, + from = _this$getProgress.from, + to = _this$getProgress.to; // tween value linearly + + + var newValue = from.getNumber() + (to.getNumber() - from.getNumber()) * progress; + + if (initialUnits === '%') { + newValue *= 100.0; // numValue() returns 0-1 whereas properties are 0-100 + } + + return _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_17___default()(_context = "".concat(newValue)).call(_context, initialUnits); + } + }, { + key: "update", + value: function update(delta) { + var parent = this.parent; + var prop = this.getProperty(); // set initial value + + if (!this.initialValue) { + this.initialValue = prop.getString(); + this.initialUnits = prop.getUnits(); + } // if we're past the end time + + + if (this.duration > this.maxDuration) { + var fill = this.getAttribute('fill').getString('remove'); // loop for indefinitely repeating animations + + if (this.getAttribute('repeatCount').getString() === 'indefinite' || this.getAttribute('repeatDur').getString() === 'indefinite') { + this.duration = 0; + } else if (fill === 'freeze' && !this.frozen) { + this.frozen = true; + parent.animationFrozen = true; + parent.animationFrozenValue = prop.getString(); + } else if (fill === 'remove' && !this.removed) { + this.removed = true; + prop.setValue(parent.animationFrozen ? parent.animationFrozenValue : this.initialValue); + return true; + } + + return false; + } + + this.duration += delta; // if we're past the begin time + + var updated = false; + + if (this.begin < this.duration) { + var newValue = this.calcValue(); // tween + + var typeAttr = this.getAttribute('type'); + + if (typeAttr.hasValue()) { + var _context2; + + // for transform, etc. + var type = typeAttr.getString(); + newValue = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_17___default()(_context2 = "".concat(type, "(")).call(_context2, newValue, ")"); + } + + prop.setValue(newValue); + updated = true; + } + + return updated; + } + }, { + key: "getProgress", + value: function getProgress() { + var document = this.document, + values = _babel_runtime_corejs3_core_js_stable_instance_values__WEBPACK_IMPORTED_MODULE_41___default()(this); + + var result = { + progress: (this.duration - this.begin) / (this.maxDuration - this.begin) + }; + + if (values.hasValue()) { + var p = result.progress * (values.getValue().length - 1); + var lb = Math.floor(p); + var ub = Math.ceil(p); + result.from = new Property(document, 'from', _babel_runtime_corejs3_core_js_stable_parse_float__WEBPACK_IMPORTED_MODULE_1___default()(values.getValue()[lb])); + result.to = new Property(document, 'to', _babel_runtime_corejs3_core_js_stable_parse_float__WEBPACK_IMPORTED_MODULE_1___default()(values.getValue()[ub])); + result.progress = (p - lb) / (ub - lb); + } else { + result.from = this.from; + result.to = this.to; + } + + return result; + } + }]); + + return AnimateElement; +}(Element); + +function _createSuper$q(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$q(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$q() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var AnimateColorElement = /*#__PURE__*/function (_AnimateElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(AnimateColorElement, _AnimateElement); + + var _super = _createSuper$q(AnimateColorElement); + + function AnimateColorElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, AnimateColorElement); + + _this = _super.apply(this, arguments); + _this.type = 'animateColor'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(AnimateColorElement, [{ + key: "calcValue", + value: function calcValue() { + var _this$getProgress = this.getProgress(), + progress = _this$getProgress.progress, + from = _this$getProgress.from, + to = _this$getProgress.to; + + var colorFrom = new (rgbcolor__WEBPACK_IMPORTED_MODULE_25___default())(from.getColor()); + var colorTo = new (rgbcolor__WEBPACK_IMPORTED_MODULE_25___default())(to.getColor()); + + if (colorFrom.ok && colorTo.ok) { + var _context, _context2; + + // tween color linearly + var r = colorFrom.r + (colorTo.r - colorFrom.r) * progress; + var g = colorFrom.g + (colorTo.g - colorFrom.g) * progress; + var b = colorFrom.b + (colorTo.b - colorFrom.b) * progress; // ? alpha + + return _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_17___default()(_context = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_17___default()(_context2 = "rgb(".concat(_babel_runtime_corejs3_core_js_stable_parse_int__WEBPACK_IMPORTED_MODULE_42___default()(r, 10), ", ")).call(_context2, _babel_runtime_corejs3_core_js_stable_parse_int__WEBPACK_IMPORTED_MODULE_42___default()(g, 10), ", ")).call(_context, _babel_runtime_corejs3_core_js_stable_parse_int__WEBPACK_IMPORTED_MODULE_42___default()(b, 10), ")"); + } + + return this.getAttribute('from').getColor(); + } + }]); + + return AnimateColorElement; +}(AnimateElement); + +function _createSuper$r(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$r(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$r() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var AnimateTransformElement = /*#__PURE__*/function (_AnimateElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(AnimateTransformElement, _AnimateElement); + + var _super = _createSuper$r(AnimateTransformElement); + + function AnimateTransformElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, AnimateTransformElement); + + _this = _super.apply(this, arguments); + _this.type = 'animateTransform'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(AnimateTransformElement, [{ + key: "calcValue", + value: function calcValue() { + var _this$getProgress = this.getProgress(), + progress = _this$getProgress.progress, + from = _this$getProgress.from, + to = _this$getProgress.to; // tween value linearly + + + var transformFrom = toNumbers(from.getString()); + var transformTo = toNumbers(to.getString()); + + var newValue = _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_2___default()(transformFrom).call(transformFrom, function (from, i) { + var to = transformTo[i]; + return from + (to - from) * progress; + }).join(' '); + + return newValue; + } + }]); + + return AnimateTransformElement; +}(AnimateElement); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof (_babel_runtime_corejs3_core_js_stable_symbol__WEBPACK_IMPORTED_MODULE_46___default()) === "undefined" || _babel_runtime_corejs3_core_js_get_iterator_method__WEBPACK_IMPORTED_MODULE_45___default()(o) == null) { if (_babel_runtime_corejs3_core_js_stable_array_is_array__WEBPACK_IMPORTED_MODULE_44___default()(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = _babel_runtime_corejs3_core_js_get_iterator__WEBPACK_IMPORTED_MODULE_43___default()(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { var _context; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _babel_runtime_corejs3_core_js_stable_instance_slice__WEBPACK_IMPORTED_MODULE_47___default()(_context = Object.prototype.toString.call(o)).call(_context, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _babel_runtime_corejs3_core_js_stable_array_from__WEBPACK_IMPORTED_MODULE_33___default()(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _createSuper$s(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$s(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$s() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var FontElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(FontElement, _Element); + + var _super = _createSuper$s(FontElement); + + function FontElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, FontElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.type = 'font'; + _this.glyphs = {}; + _this.horizAdvX = _this.getAttribute('horiz-adv-x').getNumber(); + var definitions = document.definitions; + + var _assertThisInitialize = (0,_babel_runtime_corejs3_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_40__.default)(_this), + children = _assertThisInitialize.children; + + var _iterator = _createForOfIteratorHelper(children), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var child = _step.value; + + switch (child.type) { + case 'font-face': + { + _this.fontFace = child; + var fontFamilyStyle = child.getStyle('font-family'); + + if (fontFamilyStyle.hasValue()) { + definitions[fontFamilyStyle.getString()] = (0,_babel_runtime_corejs3_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_40__.default)(_this); + } + + break; + } + + case 'missing-glyph': + _this.missingGlyph = child; + break; + + case 'glyph': + { + var glyph = child; + + if (glyph.arabicForm) { + _this.isRTL = true; + _this.isArabic = true; + + if (typeof _this.glyphs[glyph.unicode] === 'undefined') { + _this.glyphs[glyph.unicode] = {}; + } + + _this.glyphs[glyph.unicode][glyph.arabicForm] = glyph; + } else { + _this.glyphs[glyph.unicode] = glyph; + } + + break; + } + + default: + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(FontElement, [{ + key: "render", + value: function render() {// NO RENDER + } + }]); + + return FontElement; +}(Element); + +function _createSuper$t(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$t(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$t() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var FontFaceElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(FontFaceElement, _Element); + + var _super = _createSuper$t(FontFaceElement); + + function FontFaceElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, FontFaceElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.type = 'font-face'; + _this.ascent = _this.getAttribute('ascent').getNumber(); + _this.descent = _this.getAttribute('descent').getNumber(); + _this.unitsPerEm = _this.getAttribute('units-per-em').getNumber(); + return _this; + } + + return FontFaceElement; +}(Element); + +function _createSuper$u(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$u(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$u() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var MissingGlyphElement = /*#__PURE__*/function (_PathElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(MissingGlyphElement, _PathElement); + + var _super = _createSuper$u(MissingGlyphElement); + + function MissingGlyphElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, MissingGlyphElement); + + _this = _super.apply(this, arguments); + _this.type = 'missing-glyph'; + _this.horizAdvX = 0; + return _this; + } + + return MissingGlyphElement; +}(PathElement); + +function _createSuper$v(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$v(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$v() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var GlyphElement = /*#__PURE__*/function (_PathElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(GlyphElement, _PathElement); + + var _super = _createSuper$v(GlyphElement); + + function GlyphElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, GlyphElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.type = 'glyph'; + _this.horizAdvX = _this.getAttribute('horiz-adv-x').getNumber(); + _this.unicode = _this.getAttribute('unicode').getString(); + _this.arabicForm = _this.getAttribute('arabic-form').getString(); + return _this; + } + + return GlyphElement; +}(PathElement); + +function _createSuper$w(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$w(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$w() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var TRefElement = /*#__PURE__*/function (_TextElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(TRefElement, _TextElement); + + var _super = _createSuper$w(TRefElement); + + function TRefElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, TRefElement); + + _this = _super.apply(this, arguments); + _this.type = 'tref'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(TRefElement, [{ + key: "getText", + value: function getText() { + var element = this.getHrefAttribute().getDefinition(); + + if (element) { + var firstChild = element.children[0]; + + if (firstChild) { + return firstChild.getText(); + } + } + + return ''; + } + }]); + + return TRefElement; +}(TextElement); + +function _createSuper$x(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$x(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$x() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var AElement = /*#__PURE__*/function (_TextElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(AElement, _TextElement); + + var _super = _createSuper$x(AElement); + + function AElement(document, node, captureTextNodes) { + var _context; + + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, AElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.type = 'a'; + var childNodes = node.childNodes; + var firstChild = childNodes[0]; + + var hasText = childNodes.length > 0 && _babel_runtime_corejs3_core_js_stable_instance_every__WEBPACK_IMPORTED_MODULE_20___default()(_context = _babel_runtime_corejs3_core_js_stable_array_from__WEBPACK_IMPORTED_MODULE_33___default()(childNodes)).call(_context, function (node) { + return node.nodeType === 3; + }); + + _this.hasText = hasText; + _this.text = hasText ? _this.getTextFromNode(firstChild) : ''; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(AElement, [{ + key: "getText", + value: function getText() { + return this.text; + } + }, { + key: "renderChildren", + value: function renderChildren(ctx) { + if (this.hasText) { + // render as text element + (0,_babel_runtime_corejs3_helpers_get__WEBPACK_IMPORTED_MODULE_36__.default)((0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(AElement.prototype), "renderChildren", this).call(this, ctx); + + var document = this.document, + x = this.x, + y = this.y; + var mouse = document.screen.mouse; + var fontSize = new Property(document, 'fontSize', Font.parse(document.ctx.font).fontSize); // Do not calc bounding box if mouse is not working. + + if (mouse.isWorking()) { + mouse.checkBoundingBox(this, new BoundingBox(x, y - fontSize.getPixels('y'), x + this.measureText(ctx), y)); + } + } else if (this.children.length > 0) { + // render as temporary group + var g = new GElement(this.document, null); + g.children = this.children; + g.parent = this; + g.render(ctx); + } + } + }, { + key: "onClick", + value: function onClick() { + var window = this.document.window; + + if (window) { + window.open(this.getHrefAttribute().getString()); + } + } + }, { + key: "onMouseMove", + value: function onMouseMove() { + var ctx = this.document.ctx; + ctx.canvas.style.cursor = 'pointer'; + } + }]); + + return AElement; +}(TextElement); + +function _createForOfIteratorHelper$1(o, allowArrayLike) { var it; if (typeof (_babel_runtime_corejs3_core_js_stable_symbol__WEBPACK_IMPORTED_MODULE_46___default()) === "undefined" || _babel_runtime_corejs3_core_js_get_iterator_method__WEBPACK_IMPORTED_MODULE_45___default()(o) == null) { if (_babel_runtime_corejs3_core_js_stable_array_is_array__WEBPACK_IMPORTED_MODULE_44___default()(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = _babel_runtime_corejs3_core_js_get_iterator__WEBPACK_IMPORTED_MODULE_43___default()(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray$1(o, minLen) { var _context5; if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = _babel_runtime_corejs3_core_js_stable_instance_slice__WEBPACK_IMPORTED_MODULE_47___default()(_context5 = Object.prototype.toString.call(o)).call(_context5, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _babel_runtime_corejs3_core_js_stable_array_from__WEBPACK_IMPORTED_MODULE_33___default()(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); } + +function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function ownKeys(object, enumerableOnly) { var keys = _babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_11___default()(object); if ((_babel_runtime_corejs3_core_js_stable_object_get_own_property_symbols__WEBPACK_IMPORTED_MODULE_10___default())) { var symbols = _babel_runtime_corejs3_core_js_stable_object_get_own_property_symbols__WEBPACK_IMPORTED_MODULE_10___default()(object); if (enumerableOnly) symbols = _babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_9___default()(symbols).call(symbols, function (sym) { return _babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_8___default()(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context3; _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context3 = ownKeys(Object(source), true)).call(_context3, function (key) { (0,_babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_14__.default)(target, key, source[key]); }); } else if ((_babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_6___default())) { _babel_runtime_corejs3_core_js_stable_object_define_properties__WEBPACK_IMPORTED_MODULE_5___default()(target, _babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_6___default()(source)); } else { var _context4; _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context4 = ownKeys(Object(source))).call(_context4, function (key) { _babel_runtime_corejs3_core_js_stable_object_define_property__WEBPACK_IMPORTED_MODULE_4___default()(target, key, _babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_8___default()(source, key)); }); } } return target; } + +function _createSuper$y(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$y(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$y() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var TextPathElement = /*#__PURE__*/function (_TextElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(TextPathElement, _TextElement); + + var _super = _createSuper$y(TextPathElement); + + function TextPathElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, TextPathElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.type = 'textPath'; + _this.textWidth = 0; + _this.textHeight = 0; + _this.pathLength = -1; + _this.glyphInfo = null; + _this.letterSpacingCache = []; + _this.measuresCache = new (_babel_runtime_corejs3_core_js_stable_map__WEBPACK_IMPORTED_MODULE_48___default())([['', 0]]); + + var pathElement = _this.getHrefAttribute().getDefinition(); + + _this.text = _this.getTextFromNode(); + _this.dataArray = _this.parsePathData(pathElement); + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(TextPathElement, [{ + key: "getText", + value: function getText() { + return this.text; + } + }, { + key: "path", + value: function path(ctx) { + var dataArray = this.dataArray; + + if (ctx) { + ctx.beginPath(); + } + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(dataArray).call(dataArray, function (_ref) { + var type = _ref.type, + points = _ref.points; + + switch (type) { + case PathParser.LINE_TO: + if (ctx) { + ctx.lineTo(points[0], points[1]); + } + + break; + + case PathParser.MOVE_TO: + if (ctx) { + ctx.moveTo(points[0], points[1]); + } + + break; + + case PathParser.CURVE_TO: + if (ctx) { + ctx.bezierCurveTo(points[0], points[1], points[2], points[3], points[4], points[5]); + } + + break; + + case PathParser.QUAD_TO: + if (ctx) { + ctx.quadraticCurveTo(points[0], points[1], points[2], points[3]); + } + + break; + + case PathParser.ARC: + { + var _points = (0,_babel_runtime_corejs3_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__.default)(points, 8), + cx = _points[0], + cy = _points[1], + rx = _points[2], + ry = _points[3], + theta = _points[4], + dTheta = _points[5], + psi = _points[6], + fs = _points[7]; + + var r = rx > ry ? rx : ry; + var scaleX = rx > ry ? 1 : rx / ry; + var scaleY = rx > ry ? ry / rx : 1; + + if (ctx) { + ctx.translate(cx, cy); + ctx.rotate(psi); + ctx.scale(scaleX, scaleY); + ctx.arc(0, 0, r, theta, theta + dTheta, Boolean(1 - fs)); + ctx.scale(1 / scaleX, 1 / scaleY); + ctx.rotate(-psi); + ctx.translate(-cx, -cy); + } + + break; + } + + case PathParser.CLOSE_PATH: + if (ctx) { + ctx.closePath(); + } + + break; + } + }); + } + }, { + key: "renderChildren", + value: function renderChildren(ctx) { + this.setTextData(ctx); + ctx.save(); + var textDecoration = this.parent.getStyle('text-decoration').getString(); + var fontSize = this.getFontSize(); + var glyphInfo = this.glyphInfo; + var fill = ctx.fillStyle; + + if (textDecoration === 'underline') { + ctx.beginPath(); + } + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(glyphInfo).call(glyphInfo, function (glyph, i) { + var p0 = glyph.p0, + p1 = glyph.p1, + rotation = glyph.rotation, + partialText = glyph.text; + ctx.save(); + ctx.translate(p0.x, p0.y); + ctx.rotate(rotation); + + if (ctx.fillStyle) { + ctx.fillText(partialText, 0, 0); + } + + if (ctx.strokeStyle) { + ctx.strokeText(partialText, 0, 0); + } + + ctx.restore(); + + if (textDecoration === 'underline') { + if (i === 0) { + ctx.moveTo(p0.x, p0.y + fontSize / 8); + } + + ctx.lineTo(p1.x, p1.y + fontSize / 5); + } //// To assist with debugging visually, uncomment following + // + // ctx.beginPath(); + // if (i % 2) + // ctx.strokeStyle = 'red'; + // else + // ctx.strokeStyle = 'green'; + // ctx.moveTo(p0.x, p0.y); + // ctx.lineTo(p1.x, p1.y); + // ctx.stroke(); + // ctx.closePath(); + + }); + + if (textDecoration === 'underline') { + ctx.lineWidth = fontSize / 20; + ctx.strokeStyle = fill; + ctx.stroke(); + ctx.closePath(); + } + + ctx.restore(); + } + }, { + key: "getLetterSpacingAt", + value: function getLetterSpacingAt() { + var idx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + return this.letterSpacingCache[idx] || 0; + } + }, { + key: "findSegmentToFitChar", + value: function findSegmentToFitChar(ctx, anchor, textFullWidth, fullPathWidth, spacesNumber, inputOffset, dy, c, charI) { + var offset = inputOffset; + var glyphWidth = this.measureText(ctx, c); + + if (c === ' ' && anchor === 'justify' && textFullWidth < fullPathWidth) { + glyphWidth += (fullPathWidth - textFullWidth) / spacesNumber; + } + + if (charI > -1) { + offset += this.getLetterSpacingAt(charI); + } + + var splineStep = this.textHeight / 20; + var p0 = this.getEquidistantPointOnPath(offset, splineStep, 0); + var p1 = this.getEquidistantPointOnPath(offset + glyphWidth, splineStep, 0); + var segment = { + p0: p0, + p1: p1 + }; + var rotation = p0 && p1 ? Math.atan2(p1.y - p0.y, p1.x - p0.x) : 0; + + if (dy) { + var dyX = Math.cos(Math.PI / 2 + rotation) * dy; + var dyY = Math.cos(-rotation) * dy; + segment.p0 = _objectSpread(_objectSpread({}, p0), {}, { + x: p0.x + dyX, + y: p0.y + dyY + }); + segment.p1 = _objectSpread(_objectSpread({}, p1), {}, { + x: p1.x + dyX, + y: p1.y + dyY + }); + } + + offset += glyphWidth; + return { + offset: offset, + segment: segment, + rotation: rotation + }; + } + }, { + key: "measureText", + value: function measureText(ctx, text) { + var measuresCache = this.measuresCache; + var targetText = text || this.getText(); + + if (measuresCache.has(targetText)) { + return measuresCache.get(targetText); + } + + var measure = this.measureTargetText(ctx, targetText); + measuresCache.set(targetText, measure); + return measure; + } // This method supposes what all custom fonts already loaded. + // If some font will be loaded after this method call, will not be rendered correctly. + // You need to call this method manually to update glyphs cache. + + }, { + key: "setTextData", + value: function setTextData(ctx) { + var _context, + _this2 = this; + + if (this.glyphInfo) { + return; + } + + var renderText = this.getText(); + var chars = renderText.split(''); + var spacesNumber = renderText.split(' ').length - 1; + + var dx = _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_2___default()(_context = this.parent.getAttribute('dx').split()).call(_context, function (_) { + return _.getPixels('x'); + }); + + var dy = this.parent.getAttribute('dy').getPixels('y'); + var anchor = this.parent.getStyle('text-anchor').getString('start'); + var thisSpacing = this.getStyle('letter-spacing'); + var parentSpacing = this.parent.getStyle('letter-spacing'); + var letterSpacing = 0; + + if (!thisSpacing.hasValue() || thisSpacing.getValue() === 'inherit') { + letterSpacing = parentSpacing.getPixels(); + } else if (thisSpacing.hasValue()) { + if (thisSpacing.getValue() !== 'initial' && thisSpacing.getValue() !== 'unset') { + letterSpacing = thisSpacing.getPixels(); + } + } // fill letter-spacing cache + + + var letterSpacingCache = []; + var textLen = renderText.length; + this.letterSpacingCache = letterSpacingCache; + + for (var i = 0; i < textLen; i++) { + letterSpacingCache.push(typeof dx[i] !== 'undefined' ? dx[i] : letterSpacing); + } + + var dxSum = _babel_runtime_corejs3_core_js_stable_instance_reduce__WEBPACK_IMPORTED_MODULE_18___default()(letterSpacingCache).call(letterSpacingCache, function (acc, cur, i) { + return i === 0 ? 0 : acc + cur || 0; + }, 0); + + var textWidth = this.measureText(ctx); + var textFullWidth = Math.max(textWidth + dxSum, 0); + this.textWidth = textWidth; + this.textHeight = this.getFontSize(); + this.glyphInfo = []; + var fullPathWidth = this.getPathLength(); + var startOffset = this.getStyle('startOffset').getNumber(0) * fullPathWidth; + var offset = 0; + + if (anchor === 'middle' || anchor === 'center') { + offset = -textFullWidth / 2; + } + + if (anchor === 'end' || anchor === 'right') { + offset = -textFullWidth; + } + + offset += startOffset; + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(chars).call(chars, function (char, i) { + // Find such segment what distance between p0 and p1 is approx. width of glyph + var _this2$findSegmentToF = _this2.findSegmentToFitChar(ctx, anchor, textFullWidth, fullPathWidth, spacesNumber, offset, dy, char, i), + nextOffset = _this2$findSegmentToF.offset, + segment = _this2$findSegmentToF.segment, + rotation = _this2$findSegmentToF.rotation; + + offset = nextOffset; + + if (!segment.p0 || !segment.p1) { + return; + } // const width = this.getLineLength( + // segment.p0.x, + // segment.p0.y, + // segment.p1.x, + // segment.p1.y + // ); + // Note: Since glyphs are rendered one at a time, any kerning pair data built into the font will not be used. + // Can foresee having a rough pair table built in that the developer can override as needed. + // Or use "dx" attribute of the node as a naive replacement + // const kern = 0; + // placeholder for future implementation + // const midpoint = this.getPointOnLine( + // kern + width / 2.0, + // segment.p0.x, segment.p0.y, segment.p1.x, segment.p1.y + // ); + + + _this2.glyphInfo.push({ + // transposeX: midpoint.x, + // transposeY: midpoint.y, + text: chars[i], + p0: segment.p0, + p1: segment.p1, + rotation: rotation + }); + }); + } + }, { + key: "parsePathData", + value: function parsePathData(path) { + this.pathLength = -1; // reset path length + + if (!path) { + return []; + } + + var pathCommands = []; + var pathParser = path.pathParser; + pathParser.reset(); // convert l, H, h, V, and v to L + + while (!pathParser.isEnd()) { + var current = pathParser.current; + var startX = current ? current.x : 0; + var startY = current ? current.y : 0; + var command = pathParser.next(); + var nextCommandType = command.type; + var points = []; + + switch (command.type) { + case PathParser.MOVE_TO: + this.pathM(pathParser, points); + break; + + case PathParser.LINE_TO: + nextCommandType = this.pathL(pathParser, points); + break; + + case PathParser.HORIZ_LINE_TO: + nextCommandType = this.pathH(pathParser, points); + break; + + case PathParser.VERT_LINE_TO: + nextCommandType = this.pathV(pathParser, points); + break; + + case PathParser.CURVE_TO: + this.pathC(pathParser, points); + break; + + case PathParser.SMOOTH_CURVE_TO: + nextCommandType = this.pathS(pathParser, points); + break; + + case PathParser.QUAD_TO: + this.pathQ(pathParser, points); + break; + + case PathParser.SMOOTH_QUAD_TO: + nextCommandType = this.pathT(pathParser, points); + break; + + case PathParser.ARC: + points = this.pathA(pathParser); + break; + + case PathParser.CLOSE_PATH: + PathElement.pathZ(pathParser); + break; + } + + if (command.type !== PathParser.CLOSE_PATH) { + pathCommands.push({ + type: nextCommandType, + points: points, + start: { + x: startX, + y: startY + }, + pathLength: this.calcLength(startX, startY, nextCommandType, points) + }); + } else { + pathCommands.push({ + type: PathParser.CLOSE_PATH, + points: [], + pathLength: 0 + }); + } + } + + return pathCommands; + } + }, { + key: "pathM", + value: function pathM(pathParser, points) { + var _PathElement$pathM$po = PathElement.pathM(pathParser).point, + x = _PathElement$pathM$po.x, + y = _PathElement$pathM$po.y; + points.push(x, y); + } + }, { + key: "pathL", + value: function pathL(pathParser, points) { + var _PathElement$pathL$po = PathElement.pathL(pathParser).point, + x = _PathElement$pathL$po.x, + y = _PathElement$pathL$po.y; + points.push(x, y); + return PathParser.LINE_TO; + } + }, { + key: "pathH", + value: function pathH(pathParser, points) { + var _PathElement$pathH$po = PathElement.pathH(pathParser).point, + x = _PathElement$pathH$po.x, + y = _PathElement$pathH$po.y; + points.push(x, y); + return PathParser.LINE_TO; + } + }, { + key: "pathV", + value: function pathV(pathParser, points) { + var _PathElement$pathV$po = PathElement.pathV(pathParser).point, + x = _PathElement$pathV$po.x, + y = _PathElement$pathV$po.y; + points.push(x, y); + return PathParser.LINE_TO; + } + }, { + key: "pathC", + value: function pathC(pathParser, points) { + var _PathElement$pathC = PathElement.pathC(pathParser), + point = _PathElement$pathC.point, + controlPoint = _PathElement$pathC.controlPoint, + currentPoint = _PathElement$pathC.currentPoint; + + points.push(point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y); + } + }, { + key: "pathS", + value: function pathS(pathParser, points) { + var _PathElement$pathS = PathElement.pathS(pathParser), + point = _PathElement$pathS.point, + controlPoint = _PathElement$pathS.controlPoint, + currentPoint = _PathElement$pathS.currentPoint; + + points.push(point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y); + return PathParser.CURVE_TO; + } + }, { + key: "pathQ", + value: function pathQ(pathParser, points) { + var _PathElement$pathQ = PathElement.pathQ(pathParser), + controlPoint = _PathElement$pathQ.controlPoint, + currentPoint = _PathElement$pathQ.currentPoint; + + points.push(controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y); + } + }, { + key: "pathT", + value: function pathT(pathParser, points) { + var _PathElement$pathT = PathElement.pathT(pathParser), + controlPoint = _PathElement$pathT.controlPoint, + currentPoint = _PathElement$pathT.currentPoint; + + points.push(controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y); + return PathParser.QUAD_TO; + } + }, { + key: "pathA", + value: function pathA(pathParser) { + var _PathElement$pathA = PathElement.pathA(pathParser), + rX = _PathElement$pathA.rX, + rY = _PathElement$pathA.rY, + sweepFlag = _PathElement$pathA.sweepFlag, + xAxisRotation = _PathElement$pathA.xAxisRotation, + centp = _PathElement$pathA.centp, + a1 = _PathElement$pathA.a1, + ad = _PathElement$pathA.ad; + + if (sweepFlag === 0 && ad > 0) { + ad = ad - 2 * Math.PI; + } + + if (sweepFlag === 1 && ad < 0) { + ad = ad + 2 * Math.PI; + } + + return [centp.x, centp.y, rX, rY, a1, ad, xAxisRotation, sweepFlag]; + } + }, { + key: "calcLength", + value: function calcLength(x, y, commandType, points) { + var len = 0; + var p1 = null; + var p2 = null; + var t = 0; + + switch (commandType) { + case PathParser.LINE_TO: + return this.getLineLength(x, y, points[0], points[1]); + + case PathParser.CURVE_TO: + // Approximates by breaking curve into 100 line segments + len = 0.0; + p1 = this.getPointOnCubicBezier(0, x, y, points[0], points[1], points[2], points[3], points[4], points[5]); + + for (t = 0.01; t <= 1; t += 0.01) { + p2 = this.getPointOnCubicBezier(t, x, y, points[0], points[1], points[2], points[3], points[4], points[5]); + len += this.getLineLength(p1.x, p1.y, p2.x, p2.y); + p1 = p2; + } + + return len; + + case PathParser.QUAD_TO: + // Approximates by breaking curve into 100 line segments + len = 0.0; + p1 = this.getPointOnQuadraticBezier(0, x, y, points[0], points[1], points[2], points[3]); + + for (t = 0.01; t <= 1; t += 0.01) { + p2 = this.getPointOnQuadraticBezier(t, x, y, points[0], points[1], points[2], points[3]); + len += this.getLineLength(p1.x, p1.y, p2.x, p2.y); + p1 = p2; + } + + return len; + + case PathParser.ARC: + // Approximates by breaking curve into line segments + len = 0.0; + var start = points[4]; // 4 = theta + + var dTheta = points[5]; // 5 = dTheta + + var end = points[4] + dTheta; + var inc = Math.PI / 180.0; // 1 degree resolution + + if (Math.abs(start - end) < inc) { + inc = Math.abs(start - end); + } // Note: for purpose of calculating arc length, not going to worry about rotating X-axis by angle psi + + + p1 = this.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], start, 0); + + if (dTheta < 0) { + // clockwise + for (t = start - inc; t > end; t -= inc) { + p2 = this.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0); + len += this.getLineLength(p1.x, p1.y, p2.x, p2.y); + p1 = p2; + } + } else { + // counter-clockwise + for (t = start + inc; t < end; t += inc) { + p2 = this.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0); + len += this.getLineLength(p1.x, p1.y, p2.x, p2.y); + p1 = p2; + } + } + + p2 = this.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], end, 0); + len += this.getLineLength(p1.x, p1.y, p2.x, p2.y); + return len; + } + + return 0; + } + }, { + key: "getPointOnLine", + value: function getPointOnLine(dist, P1x, P1y, P2x, P2y) { + var fromX = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : P1x; + var fromY = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : P1y; + var m = (P2y - P1y) / (P2x - P1x + PSEUDO_ZERO); + var run = Math.sqrt(dist * dist / (1 + m * m)); + + if (P2x < P1x) { + run *= -1; + } + + var rise = m * run; + var pt = null; + + if (P2x === P1x) { + // vertical line + pt = { + x: fromX, + y: fromY + rise + }; + } else if ((fromY - P1y) / (fromX - P1x + PSEUDO_ZERO) === m) { + pt = { + x: fromX + run, + y: fromY + rise + }; + } else { + var ix = 0; + var iy = 0; + var len = this.getLineLength(P1x, P1y, P2x, P2y); + + if (len < PSEUDO_ZERO) { + return null; + } + + var u = (fromX - P1x) * (P2x - P1x) + (fromY - P1y) * (P2y - P1y); + u = u / (len * len); + ix = P1x + u * (P2x - P1x); + iy = P1y + u * (P2y - P1y); + var pRise = this.getLineLength(fromX, fromY, ix, iy); + var pRun = Math.sqrt(dist * dist - pRise * pRise); + run = Math.sqrt(pRun * pRun / (1 + m * m)); + + if (P2x < P1x) { + run *= -1; + } + + rise = m * run; + pt = { + x: ix + run, + y: iy + rise + }; + } + + return pt; + } + }, { + key: "getPointOnPath", + value: function getPointOnPath(distance) { + var fullLen = this.getPathLength(); + var cumulativePathLength = 0; + var p = null; + + if (distance < -0.00005 || distance - 0.00005 > fullLen) { + return null; + } + + var dataArray = this.dataArray; + + var _iterator = _createForOfIteratorHelper$1(dataArray), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var command = _step.value; + + if (command && (command.pathLength < 0.00005 || cumulativePathLength + command.pathLength + 0.00005 < distance)) { + cumulativePathLength += command.pathLength; + continue; + } + + var delta = distance - cumulativePathLength; + var currentT = 0; + + switch (command.type) { + case PathParser.LINE_TO: + p = this.getPointOnLine(delta, command.start.x, command.start.y, command.points[0], command.points[1], command.start.x, command.start.y); + break; + + case PathParser.ARC: + var start = command.points[4]; // 4 = theta + + var dTheta = command.points[5]; // 5 = dTheta + + var end = command.points[4] + dTheta; + currentT = start + delta / command.pathLength * dTheta; + + if (dTheta < 0 && currentT < end || dTheta >= 0 && currentT > end) { + break; + } + + p = this.getPointOnEllipticalArc(command.points[0], command.points[1], command.points[2], command.points[3], currentT, command.points[6]); + break; + + case PathParser.CURVE_TO: + currentT = delta / command.pathLength; + + if (currentT > 1) { + currentT = 1; + } + + p = this.getPointOnCubicBezier(currentT, command.start.x, command.start.y, command.points[0], command.points[1], command.points[2], command.points[3], command.points[4], command.points[5]); + break; + + case PathParser.QUAD_TO: + currentT = delta / command.pathLength; + + if (currentT > 1) { + currentT = 1; + } + + p = this.getPointOnQuadraticBezier(currentT, command.start.x, command.start.y, command.points[0], command.points[1], command.points[2], command.points[3]); + break; + + default: + } + + if (p) { + return p; + } + + break; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return null; + } + }, { + key: "getLineLength", + value: function getLineLength(x1, y1, x2, y2) { + return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)); + } + }, { + key: "getPathLength", + value: function getPathLength() { + if (this.pathLength === -1) { + var _context2; + + this.pathLength = _babel_runtime_corejs3_core_js_stable_instance_reduce__WEBPACK_IMPORTED_MODULE_18___default()(_context2 = this.dataArray).call(_context2, function (length, command) { + return command.pathLength > 0 ? length + command.pathLength : length; + }, 0); + } + + return this.pathLength; + } + }, { + key: "getPointOnCubicBezier", + value: function getPointOnCubicBezier(pct, P1x, P1y, P2x, P2y, P3x, P3y, P4x, P4y) { + var x = P4x * CB1(pct) + P3x * CB2(pct) + P2x * CB3(pct) + P1x * CB4(pct); + var y = P4y * CB1(pct) + P3y * CB2(pct) + P2y * CB3(pct) + P1y * CB4(pct); + return { + x: x, + y: y + }; + } + }, { + key: "getPointOnQuadraticBezier", + value: function getPointOnQuadraticBezier(pct, P1x, P1y, P2x, P2y, P3x, P3y) { + var x = P3x * QB1(pct) + P2x * QB2(pct) + P1x * QB3(pct); + var y = P3y * QB1(pct) + P2y * QB2(pct) + P1y * QB3(pct); + return { + x: x, + y: y + }; + } + }, { + key: "getPointOnEllipticalArc", + value: function getPointOnEllipticalArc(cx, cy, rx, ry, theta, psi) { + var cosPsi = Math.cos(psi); + var sinPsi = Math.sin(psi); + var pt = { + x: rx * Math.cos(theta), + y: ry * Math.sin(theta) + }; + return { + x: cx + (pt.x * cosPsi - pt.y * sinPsi), + y: cy + (pt.x * sinPsi + pt.y * cosPsi) + }; + } // TODO need some optimisations. possibly build cache only for curved segments? + + }, { + key: "buildEquidistantCache", + value: function buildEquidistantCache(inputStep, inputPrecision) { + var fullLen = this.getPathLength(); + var precision = inputPrecision || 0.25; // accuracy vs performance + + var step = inputStep || fullLen / 100; + + if (!this.equidistantCache || this.equidistantCache.step !== step || this.equidistantCache.precision !== precision) { + // Prepare cache + this.equidistantCache = { + step: step, + precision: precision, + points: [] + }; // Calculate points + + var s = 0; + + for (var l = 0; l <= fullLen; l += precision) { + var p0 = this.getPointOnPath(l); + var p1 = this.getPointOnPath(l + precision); + + if (!p0 || !p1) { + continue; + } + + s += this.getLineLength(p0.x, p0.y, p1.x, p1.y); + + if (s >= step) { + this.equidistantCache.points.push({ + x: p0.x, + y: p0.y, + distance: l + }); + s -= step; + } + } + } + } + }, { + key: "getEquidistantPointOnPath", + value: function getEquidistantPointOnPath(targetDistance, step, precision) { + this.buildEquidistantCache(step, precision); + + if (targetDistance < 0 || targetDistance - this.getPathLength() > 0.00005) { + return null; + } + + var idx = Math.round(targetDistance / this.getPathLength() * (this.equidistantCache.points.length - 1)); + return this.equidistantCache.points[idx] || null; + } + }]); + + return TextPathElement; +}(TextElement); + +function _createSuper$z(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$z(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$z() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var ImageElement = /*#__PURE__*/function (_RenderedElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(ImageElement, _RenderedElement); + + var _super = _createSuper$z(ImageElement); + + function ImageElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, ImageElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.type = 'image'; + _this.loaded = false; + + var href = _this.getHrefAttribute().getString(); + + if (!href) { + return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(_this); + } + + var isSvg = /\.svg$/.test(href); + document.images.push((0,_babel_runtime_corejs3_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_40__.default)(_this)); + + if (!isSvg) { + _this.loadImage(href); + } else { + _this.loadSvg(href); + } + + _this.isSvg = isSvg; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(ImageElement, [{ + key: "loadImage", + value: function () { + var _loadImage = (0,_babel_runtime_corejs3_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_13__.default)( /*#__PURE__*/_babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default().mark(function _callee(href) { + var image; + return _babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default().wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.prev = 0; + _context.next = 3; + return this.document.createImage(href); + + case 3: + image = _context.sent; + this.image = image; + _context.next = 10; + break; + + case 7: + _context.prev = 7; + _context.t0 = _context["catch"](0); + // tslint:disable-next-line: no-console + console.error("Error while loading image \"".concat(href, "\":"), _context.t0); + + case 10: + this.loaded = true; + + case 11: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[0, 7]]); + })); + + function loadImage(_x) { + return _loadImage.apply(this, arguments); + } + + return loadImage; + }() + }, { + key: "loadSvg", + value: function () { + var _loadSvg = (0,_babel_runtime_corejs3_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_13__.default)( /*#__PURE__*/_babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default().mark(function _callee2(href) { + var response, svg; + return _babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default().wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.prev = 0; + _context2.next = 3; + return this.document.fetch(href); + + case 3: + response = _context2.sent; + _context2.next = 6; + return response.text(); + + case 6: + svg = _context2.sent; + this.image = svg; + _context2.next = 13; + break; + + case 10: + _context2.prev = 10; + _context2.t0 = _context2["catch"](0); + // tslint:disable-next-line: no-console + console.error("Error while loading image \"".concat(href, "\":"), _context2.t0); + + case 13: + this.loaded = true; + + case 14: + case "end": + return _context2.stop(); + } + } + }, _callee2, this, [[0, 10]]); + })); + + function loadSvg(_x2) { + return _loadSvg.apply(this, arguments); + } + + return loadSvg; + }() + }, { + key: "renderChildren", + value: function renderChildren(ctx) { + var document = this.document, + image = this.image, + loaded = this.loaded; + var x = this.getAttribute('x').getPixels('x'); + var y = this.getAttribute('y').getPixels('y'); + var width = this.getStyle('width').getPixels('x'); + var height = this.getStyle('height').getPixels('y'); + + if (!loaded || !image || !width || !height) { + return; + } + + ctx.save(); + + if (this.isSvg) { + document.canvg.forkString(ctx, this.image, { + ignoreMouse: true, + ignoreAnimation: true, + ignoreDimensions: true, + ignoreClear: true, + offsetX: x, + offsetY: y, + scaleWidth: width, + scaleHeight: height + }).render(); + } else { + var _image = this.image; + ctx.translate(x, y); + document.setViewBox({ + ctx: ctx, + aspectRatio: this.getAttribute('preserveAspectRatio').getString(), + width: width, + desiredWidth: _image.width, + height: height, + desiredHeight: _image.height + }); + + if (this.loaded) { + if (typeof _image.complete === 'undefined' || _image.complete) { + ctx.drawImage(_image, 0, 0); + } + } + } + + ctx.restore(); + } + }, { + key: "getBoundingBox", + value: function getBoundingBox() { + var x = this.getAttribute('x').getPixels('x'); + var y = this.getAttribute('y').getPixels('y'); + var width = this.getStyle('width').getPixels('x'); + var height = this.getStyle('height').getPixels('y'); + return new BoundingBox(x, y, x + width, y + height); + } + }]); + + return ImageElement; +}(RenderedElement); + +function _createSuper$A(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$A(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$A() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var SymbolElement = /*#__PURE__*/function (_RenderedElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(SymbolElement, _RenderedElement); + + var _super = _createSuper$A(SymbolElement); + + function SymbolElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, SymbolElement); + + _this = _super.apply(this, arguments); + _this.type = 'symbol'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(SymbolElement, [{ + key: "render", + value: function render(_) {// NO RENDER + } + }]); + + return SymbolElement; +}(RenderedElement); + +var SVGFontLoader = /*#__PURE__*/function () { + function SVGFontLoader(document) { + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, SVGFontLoader); + + this.document = document; + this.loaded = false; + document.fonts.push(this); + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(SVGFontLoader, [{ + key: "load", + value: function () { + var _load = (0,_babel_runtime_corejs3_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_13__.default)( /*#__PURE__*/_babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default().mark(function _callee(fontFamily, url) { + var _context, document, svgDocument, fonts; + + return _babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default().wrap(function _callee$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.prev = 0; + document = this.document; + _context2.next = 4; + return document.canvg.parser.load(url); + + case 4: + svgDocument = _context2.sent; + fonts = svgDocument.getElementsByTagName('font'); + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context = _babel_runtime_corejs3_core_js_stable_array_from__WEBPACK_IMPORTED_MODULE_33___default()(fonts)).call(_context, function (fontNode) { + var font = document.createElement(fontNode); + document.definitions[fontFamily] = font; + }); + + _context2.next = 12; + break; + + case 9: + _context2.prev = 9; + _context2.t0 = _context2["catch"](0); + // tslint:disable-next-line: no-console + console.error("Error while loading font \"".concat(url, "\":"), _context2.t0); + + case 12: + this.loaded = true; + + case 13: + case "end": + return _context2.stop(); + } + } + }, _callee, this, [[0, 9]]); + })); + + function load(_x, _x2) { + return _load.apply(this, arguments); + } + + return load; + }() + }]); + + return SVGFontLoader; +}(); + +function _createSuper$B(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$B(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$B() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var StyleElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(StyleElement, _Element); + + var _super = _createSuper$B(StyleElement); + + function StyleElement(document, node, captureTextNodes) { + var _context; + + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, StyleElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.type = 'style'; + var css = compressSpaces(_babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_2___default()(_context = _babel_runtime_corejs3_core_js_stable_array_from__WEBPACK_IMPORTED_MODULE_33___default()(node.childNodes)).call(_context, function (_) { + return _.data; + }).join('').replace(/(\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm, '') // remove comments + .replace(/@import.*;/g, '') // remove imports + ); + var cssDefs = css.split('}'); + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(cssDefs).call(cssDefs, function (_) { + var def = _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_24___default()(_).call(_); + + if (!def) { + return; + } + + var cssParts = def.split('{'); + var cssClasses = cssParts[0].split(','); + var cssProps = cssParts[1].split(';'); + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(cssClasses).call(cssClasses, function (_) { + var cssClass = _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_24___default()(_).call(_); + + if (!cssClass) { + return; + } + + var props = document.styles[cssClass] || {}; + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(cssProps).call(cssProps, function (cssProp) { + var _context2, _context3; + + var prop = _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_35___default()(cssProp).call(cssProp, ':'); + + var name = _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_24___default()(_context2 = cssProp.substr(0, prop)).call(_context2); + + var value = _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_24___default()(_context3 = cssProp.substr(prop + 1, cssProp.length - prop)).call(_context3); + + if (name && value) { + props[name] = new Property(document, name, value); + } + }); + + document.styles[cssClass] = props; + document.stylesSpecificity[cssClass] = getSelectorSpecificity(cssClass); + + if (cssClass === '@font-face') { + // && !nodeEnv + var fontFamily = props['font-family'].getString().replace(/"|'/g, ''); + var srcs = props.src.getString().split(','); + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(srcs).call(srcs, function (src) { + if (_babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_35___default()(src).call(src, 'format("svg")') > 0) { + var url = parseExternalUrl(src); + + if (url) { + new SVGFontLoader(document).load(fontFamily, url); + } + } + }); + } + }); + }); + + return _this; + } + + return StyleElement; +}(Element); +StyleElement.parseExternalUrl = parseExternalUrl; + +function _createSuper$C(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$C(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$C() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var UseElement = /*#__PURE__*/function (_RenderedElement) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(UseElement, _RenderedElement); + + var _super = _createSuper$C(UseElement); + + function UseElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, UseElement); + + _this = _super.apply(this, arguments); + _this.type = 'use'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(UseElement, [{ + key: "setContext", + value: function setContext(ctx) { + (0,_babel_runtime_corejs3_helpers_get__WEBPACK_IMPORTED_MODULE_36__.default)((0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(UseElement.prototype), "setContext", this).call(this, ctx); + + var xAttr = this.getAttribute('x'); + var yAttr = this.getAttribute('y'); + + if (xAttr.hasValue()) { + ctx.translate(xAttr.getPixels('x'), 0); + } + + if (yAttr.hasValue()) { + ctx.translate(0, yAttr.getPixels('y')); + } + } + }, { + key: "path", + value: function path(ctx) { + var element = this.element; + + if (element) { + element.path(ctx); + } + } + }, { + key: "renderChildren", + value: function renderChildren(ctx) { + var document = this.document, + element = this.element; + + if (element) { + var tempSvg = element; + + if (element.type === 'symbol') { + // render me using a temporary svg element in symbol cases (http://www.w3.org/TR/SVG/struct.html#UseElement) + tempSvg = new SVGElement(document, null); + tempSvg.attributes.viewBox = new Property(document, 'viewBox', element.getAttribute('viewBox').getString()); + tempSvg.attributes.preserveAspectRatio = new Property(document, 'preserveAspectRatio', element.getAttribute('preserveAspectRatio').getString()); + tempSvg.attributes.overflow = new Property(document, 'overflow', element.getAttribute('overflow').getString()); + tempSvg.children = element.children; // element is still the parent of the children + + element.styles.opacity = new Property(document, 'opacity', this.calculateOpacity()); + } + + if (tempSvg.type === 'svg') { + var widthStyle = this.getStyle('width', false, true); + var heightStyle = this.getStyle('height', false, true); // if symbol or svg, inherit width/height from me + + if (widthStyle.hasValue()) { + tempSvg.attributes.width = new Property(document, 'width', widthStyle.getString()); + } + + if (heightStyle.hasValue()) { + tempSvg.attributes.height = new Property(document, 'height', heightStyle.getString()); + } + } + + var oldParent = tempSvg.parent; + tempSvg.parent = this; + tempSvg.render(ctx); + tempSvg.parent = oldParent; + } + } + }, { + key: "getBoundingBox", + value: function getBoundingBox(ctx) { + var element = this.element; + + if (element) { + return element.getBoundingBox(ctx); + } + + return null; + } + }, { + key: "elementTransform", + value: function elementTransform() { + var document = this.document, + element = this.element; + return Transform.fromElement(document, element); + } + }, { + key: "element", + get: function get() { + if (!this._element) { + this._element = this.getHrefAttribute().getDefinition(); + } + + return this._element; + } + }]); + + return UseElement; +}(RenderedElement); + +function _createSuper$D(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$D(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$D() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +function imGet(img, x, y, width, _, rgba) { + return img[y * width * 4 + x * 4 + rgba]; +} + +function imSet(img, x, y, width, _, rgba, val) { + img[y * width * 4 + x * 4 + rgba] = val; +} + +function m(matrix, i, v) { + var mi = matrix[i]; + return mi * v; +} + +function c(a, m1, m2, m3) { + return m1 + Math.cos(a) * m2 + Math.sin(a) * m3; +} + +var FeColorMatrixElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(FeColorMatrixElement, _Element); + + var _super = _createSuper$D(FeColorMatrixElement); + + function FeColorMatrixElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, FeColorMatrixElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.type = 'feColorMatrix'; + var matrix = toNumbers(_this.getAttribute('values').getString()); + + switch (_this.getAttribute('type').getString('matrix')) { + // http://www.w3.org/TR/SVG/filters.html#feColorMatrixElement + case 'saturate': + { + var s = matrix[0]; + matrix = [0.213 + 0.787 * s, 0.715 - 0.715 * s, 0.072 - 0.072 * s, 0, 0, 0.213 - 0.213 * s, 0.715 + 0.285 * s, 0.072 - 0.072 * s, 0, 0, 0.213 - 0.213 * s, 0.715 - 0.715 * s, 0.072 + 0.928 * s, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]; + break; + } + + case 'hueRotate': + { + var a = matrix[0] * Math.PI / 180.0; + matrix = [c(a, 0.213, 0.787, -0.213), c(a, 0.715, -0.715, -0.715), c(a, 0.072, -0.072, 0.928), 0, 0, c(a, 0.213, -0.213, 0.143), c(a, 0.715, 0.285, 0.140), c(a, 0.072, -0.072, -0.283), 0, 0, c(a, 0.213, -0.213, -0.787), c(a, 0.715, -0.715, 0.715), c(a, 0.072, 0.928, 0.072), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]; + break; + } + + case 'luminanceToAlpha': + matrix = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2125, 0.7154, 0.0721, 0, 0, 0, 0, 0, 0, 1]; + break; + } + + _this.matrix = matrix; + _this.includeOpacity = _this.getAttribute('includeOpacity').hasValue(); + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(FeColorMatrixElement, [{ + key: "apply", + value: function apply(ctx, _, __, width, height) { + // assuming x==0 && y==0 for now + var includeOpacity = this.includeOpacity, + matrix = this.matrix; + var srcData = ctx.getImageData(0, 0, width, height); + + for (var y = 0; y < height; y++) { + for (var x = 0; x < width; x++) { + var r = imGet(srcData.data, x, y, width, height, 0); + var g = imGet(srcData.data, x, y, width, height, 1); + var b = imGet(srcData.data, x, y, width, height, 2); + var a = imGet(srcData.data, x, y, width, height, 3); + var nr = m(matrix, 0, r) + m(matrix, 1, g) + m(matrix, 2, b) + m(matrix, 3, a) + m(matrix, 4, 1); + var ng = m(matrix, 5, r) + m(matrix, 6, g) + m(matrix, 7, b) + m(matrix, 8, a) + m(matrix, 9, 1); + var nb = m(matrix, 10, r) + m(matrix, 11, g) + m(matrix, 12, b) + m(matrix, 13, a) + m(matrix, 14, 1); + var na = m(matrix, 15, r) + m(matrix, 16, g) + m(matrix, 17, b) + m(matrix, 18, a) + m(matrix, 19, 1); + + if (includeOpacity) { + nr = ng = nb = 0; + na *= a / 255; + } + + imSet(srcData.data, x, y, width, height, 0, nr); + imSet(srcData.data, x, y, width, height, 1, ng); + imSet(srcData.data, x, y, width, height, 2, nb); + imSet(srcData.data, x, y, width, height, 3, na); + } + } + + ctx.clearRect(0, 0, width, height); + ctx.putImageData(srcData, 0, 0); + } + }]); + + return FeColorMatrixElement; +}(Element); + +function _createSuper$E(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$E(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$E() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var MaskElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(MaskElement, _Element); + + var _super = _createSuper$E(MaskElement); + + function MaskElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, MaskElement); + + _this = _super.apply(this, arguments); + _this.type = 'mask'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(MaskElement, [{ + key: "apply", + value: function apply(ctx, element) { + var document = this.document; // render as temp svg + + var x = this.getAttribute('x').getPixels('x'); + var y = this.getAttribute('y').getPixels('y'); + var width = this.getStyle('width').getPixels('x'); + var height = this.getStyle('height').getPixels('y'); + + if (!width && !height) { + var _context; + + var boundingBox = new BoundingBox(); + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context = this.children).call(_context, function (child) { + boundingBox.addBoundingBox(child.getBoundingBox(ctx)); + }); + + x = Math.floor(boundingBox.x1); + y = Math.floor(boundingBox.y1); + width = Math.floor(boundingBox.width); + height = Math.floor(boundingBox.height); + } + + var ignoredStyles = this.removeStyles(element, MaskElement.ignoreStyles); + var maskCanvas = document.createCanvas(x + width, y + height); + var maskCtx = maskCanvas.getContext('2d'); + document.screen.setDefaults(maskCtx); + this.renderChildren(maskCtx); // convert mask to alpha with a fake node + // TODO: refactor out apply from feColorMatrix + + new FeColorMatrixElement(document, { + nodeType: 1, + childNodes: [], + attributes: [{ + nodeName: 'type', + value: 'luminanceToAlpha' + }, { + nodeName: 'includeOpacity', + value: 'true' + }] + }).apply(maskCtx, 0, 0, x + width, y + height); + var tmpCanvas = document.createCanvas(x + width, y + height); + var tmpCtx = tmpCanvas.getContext('2d'); + document.screen.setDefaults(tmpCtx); + element.render(tmpCtx); + tmpCtx.globalCompositeOperation = 'destination-in'; + tmpCtx.fillStyle = maskCtx.createPattern(maskCanvas, 'no-repeat'); + tmpCtx.fillRect(0, 0, x + width, y + height); + ctx.fillStyle = tmpCtx.createPattern(tmpCanvas, 'no-repeat'); + ctx.fillRect(0, 0, x + width, y + height); // reassign mask + + this.restoreStyles(element, ignoredStyles); + } + }, { + key: "render", + value: function render(_) {// NO RENDER + } + }]); + + return MaskElement; +}(Element); +MaskElement.ignoreStyles = ['mask', 'transform', 'clip-path']; + +function _createSuper$F(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$F(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$F() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var noop = function noop() {}; + +var ClipPathElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(ClipPathElement, _Element); + + var _super = _createSuper$F(ClipPathElement); + + function ClipPathElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, ClipPathElement); + + _this = _super.apply(this, arguments); + _this.type = 'clipPath'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(ClipPathElement, [{ + key: "apply", + value: function apply(ctx) { + var _context; + + var document = this.document; + + var contextProto = _babel_runtime_corejs3_core_js_stable_reflect_get_prototype_of__WEBPACK_IMPORTED_MODULE_50___default()(ctx); + + var beginPath = ctx.beginPath, + closePath = ctx.closePath; + + if (contextProto) { + contextProto.beginPath = noop; + contextProto.closePath = noop; + } + + _babel_runtime_corejs3_core_js_stable_reflect_apply__WEBPACK_IMPORTED_MODULE_49___default()(beginPath, ctx, []); + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context = this.children).call(_context, function (child) { + if (typeof child.path === 'undefined') { + return; + } + + var transform = typeof child.elementTransform !== 'undefined' ? child.elementTransform() : null; // handle + + if (!transform) { + transform = Transform.fromElement(document, child); + } + + if (transform) { + transform.apply(ctx); + } + + child.path(ctx); + + if (contextProto) { + contextProto.closePath = closePath; + } + + if (transform) { + transform.unapply(ctx); + } + }); + + _babel_runtime_corejs3_core_js_stable_reflect_apply__WEBPACK_IMPORTED_MODULE_49___default()(closePath, ctx, []); + + ctx.clip(); + + if (contextProto) { + contextProto.beginPath = beginPath; + contextProto.closePath = closePath; + } + } + }, { + key: "render", + value: function render(_) {// NO RENDER + } + }]); + + return ClipPathElement; +}(Element); + +function _createSuper$G(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$G(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$G() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var FilterElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(FilterElement, _Element); + + var _super = _createSuper$G(FilterElement); + + function FilterElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, FilterElement); + + _this = _super.apply(this, arguments); + _this.type = 'filter'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(FilterElement, [{ + key: "apply", + value: function apply(ctx, element) { + // render as temp svg + var document = this.document, + children = this.children; + var boundingBox = element.getBoundingBox(ctx); + + if (!boundingBox) { + return; + } + + var px = 0; + var py = 0; + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(children).call(children, function (child) { + var efd = child.extraFilterDistance || 0; + px = Math.max(px, efd); + py = Math.max(py, efd); + }); + + var width = Math.floor(boundingBox.width); + var height = Math.floor(boundingBox.height); + var tmpCanvasWidth = width + 2 * px; + var tmpCanvasHeight = height + 2 * py; + + if (tmpCanvasWidth < 1 || tmpCanvasHeight < 1) { + return; + } + + var x = Math.floor(boundingBox.x); + var y = Math.floor(boundingBox.y); + var ignoredStyles = this.removeStyles(element, FilterElement.ignoreStyles); + var tmpCanvas = document.createCanvas(tmpCanvasWidth, tmpCanvasHeight); + var tmpCtx = tmpCanvas.getContext('2d'); + document.screen.setDefaults(tmpCtx); + tmpCtx.translate(-x + px, -y + py); + element.render(tmpCtx); // apply filters + + _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(children).call(children, function (child) { + if (typeof child.apply === 'function') { + child.apply(tmpCtx, 0, 0, tmpCanvasWidth, tmpCanvasHeight); + } + }); // render on me + + + ctx.drawImage(tmpCanvas, 0, 0, tmpCanvasWidth, tmpCanvasHeight, x - px, y - py, tmpCanvasWidth, tmpCanvasHeight); + this.restoreStyles(element, ignoredStyles); + } + }, { + key: "render", + value: function render(_) {// NO RENDER + } + }]); + + return FilterElement; +}(Element); +FilterElement.ignoreStyles = ['filter', 'transform', 'clip-path']; + +function _createSuper$H(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$H(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$H() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var FeDropShadowElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(FeDropShadowElement, _Element); + + var _super = _createSuper$H(FeDropShadowElement); + + function FeDropShadowElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, FeDropShadowElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.type = 'feDropShadow'; + + _this.addStylesFromStyleDefinition(); + + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(FeDropShadowElement, [{ + key: "apply", + value: function apply(_, __, ___, ____, _____) {// TODO: implement + } + }]); + + return FeDropShadowElement; +}(Element); + +function _createSuper$I(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$I(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$I() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var FeMorphologyElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(FeMorphologyElement, _Element); + + var _super = _createSuper$I(FeMorphologyElement); + + function FeMorphologyElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, FeMorphologyElement); + + _this = _super.apply(this, arguments); + _this.type = 'feMorphology'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(FeMorphologyElement, [{ + key: "apply", + value: function apply(_, __, ___, ____, _____) {// TODO: implement + } + }]); + + return FeMorphologyElement; +}(Element); + +function _createSuper$J(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$J(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$J() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var FeCompositeElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(FeCompositeElement, _Element); + + var _super = _createSuper$J(FeCompositeElement); + + function FeCompositeElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, FeCompositeElement); + + _this = _super.apply(this, arguments); + _this.type = 'feComposite'; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(FeCompositeElement, [{ + key: "apply", + value: function apply(_, __, ___, ____, _____) {// TODO: implement + } + }]); + + return FeCompositeElement; +}(Element); + +function _createSuper$K(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$K(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$K() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var FeGaussianBlurElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(FeGaussianBlurElement, _Element); + + var _super = _createSuper$K(FeGaussianBlurElement); + + function FeGaussianBlurElement(document, node, captureTextNodes) { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, FeGaussianBlurElement); + + _this = _super.call(this, document, node, captureTextNodes); + _this.type = 'feGaussianBlur'; + _this.blurRadius = Math.floor(_this.getAttribute('stdDeviation').getNumber()); + _this.extraFilterDistance = _this.blurRadius; + return _this; + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(FeGaussianBlurElement, [{ + key: "apply", + value: function apply(ctx, x, y, width, height) { + var document = this.document, + blurRadius = this.blurRadius; + var body = document.window ? document.window.document.body : null; + var canvas = ctx.canvas; // StackBlur requires canvas be on document + + canvas.id = document.getUniqueId(); + + if (body) { + canvas.style.display = 'none'; + body.appendChild(canvas); + } + + (0,stackblur_canvas__WEBPACK_IMPORTED_MODULE_51__.canvasRGBA)(canvas, x, y, width, height, blurRadius); + + if (body) { + body.removeChild(canvas); + } + } + }]); + + return FeGaussianBlurElement; +}(Element); + +function _createSuper$L(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$L(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$L() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var TitleElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(TitleElement, _Element); + + var _super = _createSuper$L(TitleElement); + + function TitleElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, TitleElement); + + _this = _super.apply(this, arguments); + _this.type = 'title'; + return _this; + } + + return TitleElement; +}(Element); + +function _createSuper$M(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$M(); return function _createSuperInternal() { var Super = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_corejs3_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_29__.default)(this).constructor; result = _babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_corejs3_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_28__.default)(this, result); }; } + +function _isNativeReflectConstruct$M() { if (typeof Reflect === "undefined" || !(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default())) return false; if ((_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default().sham)) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(_babel_runtime_corejs3_core_js_stable_reflect_construct__WEBPACK_IMPORTED_MODULE_26___default()(Date, [], function () {})); return true; } catch (e) { return false; } } + +var DescElement = /*#__PURE__*/function (_Element) { + (0,_babel_runtime_corejs3_helpers_inherits__WEBPACK_IMPORTED_MODULE_27__.default)(DescElement, _Element); + + var _super = _createSuper$M(DescElement); + + function DescElement() { + var _this; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, DescElement); + + _this = _super.apply(this, arguments); + _this.type = 'desc'; + return _this; + } + + return DescElement; +}(Element); + +var elementTypes = { + 'svg': SVGElement, + 'rect': RectElement, + 'circle': CircleElement, + 'ellipse': EllipseElement, + 'line': LineElement, + 'polyline': PolylineElement, + 'polygon': PolygonElement, + 'path': PathElement, + 'pattern': PatternElement, + 'marker': MarkerElement, + 'defs': DefsElement, + 'linearGradient': LinearGradientElement, + 'radialGradient': RadialGradientElement, + 'stop': StopElement, + 'animate': AnimateElement, + 'animateColor': AnimateColorElement, + 'animateTransform': AnimateTransformElement, + 'font': FontElement, + 'font-face': FontFaceElement, + 'missing-glyph': MissingGlyphElement, + 'glyph': GlyphElement, + 'text': TextElement, + 'tspan': TSpanElement, + 'tref': TRefElement, + 'a': AElement, + 'textPath': TextPathElement, + 'image': ImageElement, + 'g': GElement, + 'symbol': SymbolElement, + 'style': StyleElement, + 'use': UseElement, + 'mask': MaskElement, + 'clipPath': ClipPathElement, + 'filter': FilterElement, + 'feDropShadow': FeDropShadowElement, + 'feMorphology': FeMorphologyElement, + 'feComposite': FeCompositeElement, + 'feColorMatrix': FeColorMatrixElement, + 'feGaussianBlur': FeGaussianBlurElement, + 'title': TitleElement, + 'desc': DescElement +}; + +function ownKeys$1(object, enumerableOnly) { var keys = _babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_11___default()(object); if ((_babel_runtime_corejs3_core_js_stable_object_get_own_property_symbols__WEBPACK_IMPORTED_MODULE_10___default())) { var symbols = _babel_runtime_corejs3_core_js_stable_object_get_own_property_symbols__WEBPACK_IMPORTED_MODULE_10___default()(object); if (enumerableOnly) symbols = _babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_9___default()(symbols).call(symbols, function (sym) { return _babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_8___default()(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context5; _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context5 = ownKeys$1(Object(source), true)).call(_context5, function (key) { (0,_babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_14__.default)(target, key, source[key]); }); } else if ((_babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_6___default())) { _babel_runtime_corejs3_core_js_stable_object_define_properties__WEBPACK_IMPORTED_MODULE_5___default()(target, _babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_6___default()(source)); } else { var _context6; _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context6 = ownKeys$1(Object(source))).call(_context6, function (key) { _babel_runtime_corejs3_core_js_stable_object_define_property__WEBPACK_IMPORTED_MODULE_4___default()(target, key, _babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_8___default()(source, key)); }); } } return target; } + +function createCanvas(width, height) { + var canvas = document.createElement('canvas'); + canvas.width = width; + canvas.height = height; + return canvas; +} + +function createImage(_x) { + return _createImage.apply(this, arguments); +} + +function _createImage() { + _createImage = (0,_babel_runtime_corejs3_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_13__.default)( /*#__PURE__*/_babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default().mark(function _callee(src) { + var anonymousCrossOrigin, + image, + _args = arguments; + return _babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default().wrap(function _callee$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + anonymousCrossOrigin = _args.length > 1 && _args[1] !== undefined ? _args[1] : false; + image = document.createElement('img'); + + if (anonymousCrossOrigin) { + image.crossOrigin = 'Anonymous'; + } + + return _context7.abrupt("return", new (_babel_runtime_corejs3_core_js_stable_promise__WEBPACK_IMPORTED_MODULE_21___default())(function (resolve, reject) { + image.onload = function () { + resolve(image); + }; + + image.onerror = function () { + reject(); + }; + + image.src = src; + })); + + case 4: + case "end": + return _context7.stop(); + } + } + }, _callee); + })); + return _createImage.apply(this, arguments); +} + +var Document = /*#__PURE__*/function () { + function Document(canvg) { + var _context, _context2; + + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$rootEmSize = _ref.rootEmSize, + rootEmSize = _ref$rootEmSize === void 0 ? 12 : _ref$rootEmSize, + _ref$emSize = _ref.emSize, + emSize = _ref$emSize === void 0 ? 12 : _ref$emSize, + _ref$createCanvas = _ref.createCanvas, + createCanvas = _ref$createCanvas === void 0 ? Document.createCanvas : _ref$createCanvas, + _ref$createImage = _ref.createImage, + createImage = _ref$createImage === void 0 ? Document.createImage : _ref$createImage, + anonymousCrossOrigin = _ref.anonymousCrossOrigin; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, Document); + + this.canvg = canvg; + this.definitions = {}; + this.styles = {}; + this.stylesSpecificity = {}; + this.images = []; + this.fonts = []; + this.emSizeStack = []; + this.uniqueId = 0; + this.screen = canvg.screen; + this.rootEmSize = rootEmSize; + this.emSize = emSize; + this.createCanvas = createCanvas; + this.createImage = this.bindCreateImage(createImage, anonymousCrossOrigin); + this.screen.wait(_babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_22___default()(_context = this.isImagesLoaded).call(_context, this)); + this.screen.wait(_babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_22___default()(_context2 = this.isFontsLoaded).call(_context2, this)); + } + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(Document, [{ + key: "bindCreateImage", + value: function bindCreateImage(createImage, anonymousCrossOrigin) { + if (typeof anonymousCrossOrigin === 'boolean') { + return function (source, forceAnonymousCrossOrigin) { + return createImage(source, typeof forceAnonymousCrossOrigin === 'boolean' ? forceAnonymousCrossOrigin : anonymousCrossOrigin); + }; + } + + return createImage; + } + }, { + key: "popEmSize", + value: function popEmSize() { + var emSizeStack = this.emSizeStack; + emSizeStack.pop(); + } + }, { + key: "getUniqueId", + value: function getUniqueId() { + return "canvg".concat(++this.uniqueId); + } + }, { + key: "isImagesLoaded", + value: function isImagesLoaded() { + var _context3; + + return _babel_runtime_corejs3_core_js_stable_instance_every__WEBPACK_IMPORTED_MODULE_20___default()(_context3 = this.images).call(_context3, function (_) { + return _.loaded; + }); + } + }, { + key: "isFontsLoaded", + value: function isFontsLoaded() { + var _context4; + + return _babel_runtime_corejs3_core_js_stable_instance_every__WEBPACK_IMPORTED_MODULE_20___default()(_context4 = this.fonts).call(_context4, function (_) { + return _.loaded; + }); + } + }, { + key: "createDocumentElement", + value: function createDocumentElement(document) { + var documentElement = this.createElement(document.documentElement); + documentElement.root = true; + documentElement.addStylesFromStyleDefinition(); + this.documentElement = documentElement; + return documentElement; + } + }, { + key: "createElement", + value: function createElement(node) { + var elementType = node.nodeName.replace(/^[^:]+:/, ''); + var ElementType = Document.elementTypes[elementType]; + + if (typeof ElementType !== 'undefined') { + return new ElementType(this, node); + } + + return new UnknownElement(this, node); + } + }, { + key: "createTextNode", + value: function createTextNode(node) { + return new TextNode(this, node); + } + }, { + key: "setViewBox", + value: function setViewBox(config) { + this.screen.setViewBox(_objectSpread$1({ + document: this + }, config)); + } + }, { + key: "window", + get: function get() { + return this.screen.window; + } + }, { + key: "fetch", + get: function get() { + return this.screen.fetch; + } + }, { + key: "ctx", + get: function get() { + return this.screen.ctx; + } + }, { + key: "emSize", + get: function get() { + var emSizeStack = this.emSizeStack; + return emSizeStack[emSizeStack.length - 1]; + }, + set: function set(value) { + var emSizeStack = this.emSizeStack; + emSizeStack.push(value); + } + }]); + + return Document; +}(); +Document.createCanvas = createCanvas; +Document.createImage = createImage; +Document.elementTypes = elementTypes; + +function ownKeys$2(object, enumerableOnly) { var keys = _babel_runtime_corejs3_core_js_stable_object_keys__WEBPACK_IMPORTED_MODULE_11___default()(object); if ((_babel_runtime_corejs3_core_js_stable_object_get_own_property_symbols__WEBPACK_IMPORTED_MODULE_10___default())) { var symbols = _babel_runtime_corejs3_core_js_stable_object_get_own_property_symbols__WEBPACK_IMPORTED_MODULE_10___default()(object); if (enumerableOnly) symbols = _babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_9___default()(symbols).call(symbols, function (sym) { return _babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_8___default()(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context3; _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context3 = ownKeys$2(Object(source), true)).call(_context3, function (key) { (0,_babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_14__.default)(target, key, source[key]); }); } else if ((_babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_6___default())) { _babel_runtime_corejs3_core_js_stable_object_define_properties__WEBPACK_IMPORTED_MODULE_5___default()(target, _babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_6___default()(source)); } else { var _context4; _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_7___default()(_context4 = ownKeys$2(Object(source))).call(_context4, function (key) { _babel_runtime_corejs3_core_js_stable_object_define_property__WEBPACK_IMPORTED_MODULE_4___default()(target, key, _babel_runtime_corejs3_core_js_stable_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_8___default()(source, key)); }); } } return target; } +/** + * SVG renderer on canvas. + */ + +var Canvg = /*#__PURE__*/function () { + /** + * Main constructor. + * @param ctx - Rendering context. + * @param svg - SVG Document. + * @param options - Rendering options. + */ + function Canvg(ctx, svg) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + + (0,_babel_runtime_corejs3_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_15__.default)(this, Canvg); + + this.parser = new Parser(options); + this.screen = new Screen(ctx, options); + this.options = options; + var document = new Document(this, options); + var documentElement = document.createDocumentElement(svg); + this.document = document; + this.documentElement = documentElement; + } + /** + * Create Canvg instance from SVG source string or URL. + * @param ctx - Rendering context. + * @param svg - SVG source string or URL. + * @param options - Rendering options. + */ + + + (0,_babel_runtime_corejs3_helpers_createClass__WEBPACK_IMPORTED_MODULE_16__.default)(Canvg, [{ + key: "fork", + + /** + * Create new Canvg instance with inherited options. + * @param ctx - Rendering context. + * @param svg - SVG source string or URL. + * @param options - Rendering options. + */ + value: function fork(ctx, svg) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + return Canvg.from(ctx, svg, _objectSpread$2(_objectSpread$2({}, this.options), options)); + } + /** + * Create new Canvg instance with inherited options. + * @param ctx - Rendering context. + * @param svg - SVG source string. + * @param options - Rendering options. + */ + + }, { + key: "forkString", + value: function forkString(ctx, svg) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + return Canvg.fromString(ctx, svg, _objectSpread$2(_objectSpread$2({}, this.options), options)); + } + /** + * Document is ready promise. + */ + + }, { + key: "ready", + value: function ready() { + return this.screen.ready(); + } + /** + * Document is ready value. + */ + + }, { + key: "isReady", + value: function isReady() { + return this.screen.isReady(); + } + /** + * Render only first frame, ignoring animations and mouse. + * @param options - Rendering options. + */ + + }, { + key: "render", + value: function () { + var _render = (0,_babel_runtime_corejs3_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_13__.default)( /*#__PURE__*/_babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default().mark(function _callee() { + var options, + _args = arguments; + return _babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default().wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + options = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}; + this.start(_objectSpread$2({ + enableRedraw: true, + ignoreAnimation: true, + ignoreMouse: true + }, options)); + _context.next = 4; + return this.ready(); + + case 4: + this.stop(); + + case 5: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function render() { + return _render.apply(this, arguments); + } + + return render; + }() + /** + * Start rendering. + * @param options - Render options. + */ + + }, { + key: "start", + value: function start() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var documentElement = this.documentElement, + screen = this.screen, + baseOptions = this.options; + screen.start(documentElement, _objectSpread$2(_objectSpread$2({ + enableRedraw: true + }, baseOptions), options)); + } + /** + * Stop rendering. + */ + + }, { + key: "stop", + value: function stop() { + this.screen.stop(); + } + /** + * Resize SVG to fit in given size. + * @param width + * @param height + * @param preserveAspectRatio + */ + + }, { + key: "resize", + value: function resize(width) { + var height = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : width; + var preserveAspectRatio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + this.documentElement.resize(width, height, preserveAspectRatio); + } + }], [{ + key: "from", + value: function () { + var _from = (0,_babel_runtime_corejs3_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_13__.default)( /*#__PURE__*/_babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default().mark(function _callee2(ctx, svg) { + var options, + parser, + svgDocument, + _args2 = arguments; + return _babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default().wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + options = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : {}; + parser = new Parser(options); + _context2.next = 4; + return parser.parse(svg); + + case 4: + svgDocument = _context2.sent; + return _context2.abrupt("return", new Canvg(ctx, svgDocument, options)); + + case 6: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + + function from(_x, _x2) { + return _from.apply(this, arguments); + } + + return from; + }() + /** + * Create Canvg instance from SVG source string. + * @param ctx - Rendering context. + * @param svg - SVG source string. + * @param options - Rendering options. + */ + + }, { + key: "fromString", + value: function fromString(ctx, svg) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var parser = new Parser(options); + var svgDocument = parser.parseFromString(svg); + return new Canvg(ctx, svgDocument, options); + } + }]); + + return Canvg; +}(); + +/** + * Options preset for `OffscreenCanvas`. + * @param config - Preset requirements. + * @param config.DOMParser - XML/HTML parser from string into DOM Document. + */ +function offscreen() { + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + DOMParserFallback = _ref.DOMParser; + + var preset = { + window: null, + ignoreAnimation: true, + ignoreMouse: true, + DOMParser: DOMParserFallback, + createCanvas: function createCanvas(width, height) { + return new OffscreenCanvas(width, height); + }, + createImage: function createImage(url) { + return (0,_babel_runtime_corejs3_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_13__.default)( /*#__PURE__*/_babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default().mark(function _callee() { + var response, blob, img; + return _babel_runtime_corejs3_regenerator__WEBPACK_IMPORTED_MODULE_12___default().wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return fetch(url); + + case 2: + response = _context.sent; + _context.next = 5; + return response.blob(); + + case 5: + blob = _context.sent; + _context.next = 8; + return createImageBitmap(blob); + + case 8: + img = _context.sent; + return _context.abrupt("return", img); + + case 10: + case "end": + return _context.stop(); + } + } + }, _callee); + }))(); + } + }; + + if (typeof DOMParser !== 'undefined' || typeof DOMParserFallback === 'undefined') { + _babel_runtime_corejs3_core_js_stable_reflect_delete_property__WEBPACK_IMPORTED_MODULE_39___default()(preset, 'DOMParser'); + } + + return preset; +} + +/** + * Options preset for `node-canvas`. + * @param config - Preset requirements. + * @param config.DOMParser - XML/HTML parser from string into DOM Document. + * @param config.canvas - `node-canvas` exports. + * @param config.fetch - WHATWG-compatible `fetch` function. + */ +function node(_ref) { + var DOMParser = _ref.DOMParser, + canvas = _ref.canvas, + fetch = _ref.fetch; + return { + window: null, + ignoreAnimation: true, + ignoreMouse: true, + DOMParser: DOMParser, + fetch: fetch, + createCanvas: canvas.createCanvas, + createImage: canvas.loadImage + }; +} + +var index = /*#__PURE__*/Object.freeze({ + __proto__: null, + offscreen: offscreen, + node: node +}); + +/* harmony default export */ __webpack_exports__["default"] = (Canvg); + +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZXMuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7In0= + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/array/from.js": +/*!****************************************************!*\ + !*** ./node_modules/core-js-pure/es/array/from.js ***! + \****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.string.iterator */ "./node_modules/core-js-pure/modules/es.string.iterator.js"); +__webpack_require__(/*! ../../modules/es.array.from */ "./node_modules/core-js-pure/modules/es.array.from.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.Array.from; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/array/is-array.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js-pure/es/array/is-array.js ***! + \********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.array.is-array */ "./node_modules/core-js-pure/modules/es.array.is-array.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.Array.isArray; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/array/virtual/concat.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/es/array/virtual/concat.js ***! + \**************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.array.concat */ "./node_modules/core-js-pure/modules/es.array.concat.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('Array').concat; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/array/virtual/every.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/es/array/virtual/every.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.array.every */ "./node_modules/core-js-pure/modules/es.array.every.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('Array').every; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/array/virtual/fill.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/es/array/virtual/fill.js ***! + \************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.array.fill */ "./node_modules/core-js-pure/modules/es.array.fill.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('Array').fill; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/array/virtual/filter.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/es/array/virtual/filter.js ***! + \**************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.array.filter */ "./node_modules/core-js-pure/modules/es.array.filter.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('Array').filter; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/array/virtual/for-each.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js-pure/es/array/virtual/for-each.js ***! + \****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.array.for-each */ "./node_modules/core-js-pure/modules/es.array.for-each.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('Array').forEach; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/array/virtual/includes.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js-pure/es/array/virtual/includes.js ***! + \****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.array.includes */ "./node_modules/core-js-pure/modules/es.array.includes.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('Array').includes; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/array/virtual/index-of.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js-pure/es/array/virtual/index-of.js ***! + \****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.array.index-of */ "./node_modules/core-js-pure/modules/es.array.index-of.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('Array').indexOf; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/array/virtual/map.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/es/array/virtual/map.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.array.map */ "./node_modules/core-js-pure/modules/es.array.map.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('Array').map; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/array/virtual/reduce.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/es/array/virtual/reduce.js ***! + \**************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.array.reduce */ "./node_modules/core-js-pure/modules/es.array.reduce.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('Array').reduce; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/array/virtual/reverse.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/es/array/virtual/reverse.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.array.reverse */ "./node_modules/core-js-pure/modules/es.array.reverse.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('Array').reverse; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/array/virtual/slice.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/es/array/virtual/slice.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.array.slice */ "./node_modules/core-js-pure/modules/es.array.slice.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('Array').slice; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/array/virtual/some.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/es/array/virtual/some.js ***! + \************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.array.some */ "./node_modules/core-js-pure/modules/es.array.some.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('Array').some; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/array/virtual/values.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/es/array/virtual/values.js ***! + \**************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.array.iterator */ "./node_modules/core-js-pure/modules/es.array.iterator.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('Array').values; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/date/now.js": +/*!**************************************************!*\ + !*** ./node_modules/core-js-pure/es/date/now.js ***! + \**************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.date.now */ "./node_modules/core-js-pure/modules/es.date.now.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.Date.now; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/function/virtual/bind.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/es/function/virtual/bind.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.function.bind */ "./node_modules/core-js-pure/modules/es.function.bind.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('Function').bind; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/instance/bind.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js-pure/es/instance/bind.js ***! + \*******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var bind = __webpack_require__(/*! ../function/virtual/bind */ "./node_modules/core-js-pure/es/function/virtual/bind.js"); + +var FunctionPrototype = Function.prototype; + +module.exports = function (it) { + var own = it.bind; + return it === FunctionPrototype || (it instanceof Function && own === FunctionPrototype.bind) ? bind : own; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/instance/concat.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js-pure/es/instance/concat.js ***! + \*********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var concat = __webpack_require__(/*! ../array/virtual/concat */ "./node_modules/core-js-pure/es/array/virtual/concat.js"); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.concat; + return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.concat) ? concat : own; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/instance/every.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js-pure/es/instance/every.js ***! + \********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var every = __webpack_require__(/*! ../array/virtual/every */ "./node_modules/core-js-pure/es/array/virtual/every.js"); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.every; + return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.every) ? every : own; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/instance/fill.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js-pure/es/instance/fill.js ***! + \*******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var fill = __webpack_require__(/*! ../array/virtual/fill */ "./node_modules/core-js-pure/es/array/virtual/fill.js"); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.fill; + return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.fill) ? fill : own; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/instance/filter.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js-pure/es/instance/filter.js ***! + \*********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var filter = __webpack_require__(/*! ../array/virtual/filter */ "./node_modules/core-js-pure/es/array/virtual/filter.js"); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.filter; + return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.filter) ? filter : own; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/instance/includes.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/es/instance/includes.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var arrayIncludes = __webpack_require__(/*! ../array/virtual/includes */ "./node_modules/core-js-pure/es/array/virtual/includes.js"); +var stringIncludes = __webpack_require__(/*! ../string/virtual/includes */ "./node_modules/core-js-pure/es/string/virtual/includes.js"); + +var ArrayPrototype = Array.prototype; +var StringPrototype = String.prototype; + +module.exports = function (it) { + var own = it.includes; + if (it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.includes)) return arrayIncludes; + if (typeof it === 'string' || it === StringPrototype || (it instanceof String && own === StringPrototype.includes)) { + return stringIncludes; + } return own; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/instance/index-of.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/es/instance/index-of.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var indexOf = __webpack_require__(/*! ../array/virtual/index-of */ "./node_modules/core-js-pure/es/array/virtual/index-of.js"); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.indexOf; + return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.indexOf) ? indexOf : own; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/instance/map.js": +/*!******************************************************!*\ + !*** ./node_modules/core-js-pure/es/instance/map.js ***! + \******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var map = __webpack_require__(/*! ../array/virtual/map */ "./node_modules/core-js-pure/es/array/virtual/map.js"); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.map; + return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.map) ? map : own; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/instance/reduce.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js-pure/es/instance/reduce.js ***! + \*********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var reduce = __webpack_require__(/*! ../array/virtual/reduce */ "./node_modules/core-js-pure/es/array/virtual/reduce.js"); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.reduce; + return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.reduce) ? reduce : own; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/instance/reverse.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js-pure/es/instance/reverse.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var reverse = __webpack_require__(/*! ../array/virtual/reverse */ "./node_modules/core-js-pure/es/array/virtual/reverse.js"); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.reverse; + return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.reverse) ? reverse : own; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/instance/slice.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js-pure/es/instance/slice.js ***! + \********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var slice = __webpack_require__(/*! ../array/virtual/slice */ "./node_modules/core-js-pure/es/array/virtual/slice.js"); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.slice; + return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.slice) ? slice : own; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/instance/some.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js-pure/es/instance/some.js ***! + \*******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var some = __webpack_require__(/*! ../array/virtual/some */ "./node_modules/core-js-pure/es/array/virtual/some.js"); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.some; + return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.some) ? some : own; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/instance/starts-with.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/es/instance/starts-with.js ***! + \**************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var startsWith = __webpack_require__(/*! ../string/virtual/starts-with */ "./node_modules/core-js-pure/es/string/virtual/starts-with.js"); + +var StringPrototype = String.prototype; + +module.exports = function (it) { + var own = it.startsWith; + return typeof it === 'string' || it === StringPrototype + || (it instanceof String && own === StringPrototype.startsWith) ? startsWith : own; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/instance/trim.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js-pure/es/instance/trim.js ***! + \*******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var trim = __webpack_require__(/*! ../string/virtual/trim */ "./node_modules/core-js-pure/es/string/virtual/trim.js"); + +var StringPrototype = String.prototype; + +module.exports = function (it) { + var own = it.trim; + return typeof it === 'string' || it === StringPrototype + || (it instanceof String && own === StringPrototype.trim) ? trim : own; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/map/index.js": +/*!***************************************************!*\ + !*** ./node_modules/core-js-pure/es/map/index.js ***! + \***************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.map */ "./node_modules/core-js-pure/modules/es.map.js"); +__webpack_require__(/*! ../../modules/es.object.to-string */ "./node_modules/core-js-pure/modules/es.object.to-string.js"); +__webpack_require__(/*! ../../modules/es.string.iterator */ "./node_modules/core-js-pure/modules/es.string.iterator.js"); +__webpack_require__(/*! ../../modules/web.dom-collections.iterator */ "./node_modules/core-js-pure/modules/web.dom-collections.iterator.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.Map; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/object/create.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js-pure/es/object/create.js ***! + \*******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.object.create */ "./node_modules/core-js-pure/modules/es.object.create.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +var Object = path.Object; + +module.exports = function create(P, D) { + return Object.create(P, D); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/object/define-properties.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js-pure/es/object/define-properties.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.object.define-properties */ "./node_modules/core-js-pure/modules/es.object.define-properties.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +var Object = path.Object; + +var defineProperties = module.exports = function defineProperties(T, D) { + return Object.defineProperties(T, D); +}; + +if (Object.defineProperties.sham) defineProperties.sham = true; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/object/define-property.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js-pure/es/object/define-property.js ***! + \****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.object.define-property */ "./node_modules/core-js-pure/modules/es.object.define-property.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +var Object = path.Object; + +var defineProperty = module.exports = function defineProperty(it, key, desc) { + return Object.defineProperty(it, key, desc); +}; + +if (Object.defineProperty.sham) defineProperty.sham = true; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/object/get-own-property-descriptor.js": +/*!****************************************************************************!*\ + !*** ./node_modules/core-js-pure/es/object/get-own-property-descriptor.js ***! + \****************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.object.get-own-property-descriptor */ "./node_modules/core-js-pure/modules/es.object.get-own-property-descriptor.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +var Object = path.Object; + +var getOwnPropertyDescriptor = module.exports = function getOwnPropertyDescriptor(it, key) { + return Object.getOwnPropertyDescriptor(it, key); +}; + +if (Object.getOwnPropertyDescriptor.sham) getOwnPropertyDescriptor.sham = true; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/object/get-own-property-descriptors.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/core-js-pure/es/object/get-own-property-descriptors.js ***! + \*****************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.object.get-own-property-descriptors */ "./node_modules/core-js-pure/modules/es.object.get-own-property-descriptors.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.Object.getOwnPropertyDescriptors; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/object/get-own-property-symbols.js": +/*!*************************************************************************!*\ + !*** ./node_modules/core-js-pure/es/object/get-own-property-symbols.js ***! + \*************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.symbol */ "./node_modules/core-js-pure/modules/es.symbol.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.Object.getOwnPropertySymbols; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/object/get-prototype-of.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js-pure/es/object/get-prototype-of.js ***! + \*****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.object.get-prototype-of */ "./node_modules/core-js-pure/modules/es.object.get-prototype-of.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.Object.getPrototypeOf; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/object/keys.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js-pure/es/object/keys.js ***! + \*****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.object.keys */ "./node_modules/core-js-pure/modules/es.object.keys.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.Object.keys; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/object/set-prototype-of.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js-pure/es/object/set-prototype-of.js ***! + \*****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.object.set-prototype-of */ "./node_modules/core-js-pure/modules/es.object.set-prototype-of.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.Object.setPrototypeOf; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/parse-float.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js-pure/es/parse-float.js ***! + \*****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../modules/es.parse-float */ "./node_modules/core-js-pure/modules/es.parse-float.js"); +var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.parseFloat; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/parse-int.js": +/*!***************************************************!*\ + !*** ./node_modules/core-js-pure/es/parse-int.js ***! + \***************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../modules/es.parse-int */ "./node_modules/core-js-pure/modules/es.parse-int.js"); +var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.parseInt; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/promise/index.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js-pure/es/promise/index.js ***! + \*******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.aggregate-error */ "./node_modules/core-js-pure/modules/es.aggregate-error.js"); +__webpack_require__(/*! ../../modules/es.object.to-string */ "./node_modules/core-js-pure/modules/es.object.to-string.js"); +__webpack_require__(/*! ../../modules/es.promise */ "./node_modules/core-js-pure/modules/es.promise.js"); +__webpack_require__(/*! ../../modules/es.promise.all-settled */ "./node_modules/core-js-pure/modules/es.promise.all-settled.js"); +__webpack_require__(/*! ../../modules/es.promise.any */ "./node_modules/core-js-pure/modules/es.promise.any.js"); +__webpack_require__(/*! ../../modules/es.promise.finally */ "./node_modules/core-js-pure/modules/es.promise.finally.js"); +__webpack_require__(/*! ../../modules/es.string.iterator */ "./node_modules/core-js-pure/modules/es.string.iterator.js"); +__webpack_require__(/*! ../../modules/web.dom-collections.iterator */ "./node_modules/core-js-pure/modules/web.dom-collections.iterator.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.Promise; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/reflect/apply.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js-pure/es/reflect/apply.js ***! + \*******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.reflect.apply */ "./node_modules/core-js-pure/modules/es.reflect.apply.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.Reflect.apply; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/reflect/construct.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/es/reflect/construct.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.reflect.construct */ "./node_modules/core-js-pure/modules/es.reflect.construct.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.Reflect.construct; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/reflect/delete-property.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js-pure/es/reflect/delete-property.js ***! + \*****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.reflect.delete-property */ "./node_modules/core-js-pure/modules/es.reflect.delete-property.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.Reflect.deleteProperty; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/reflect/get-prototype-of.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js-pure/es/reflect/get-prototype-of.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.reflect.get-prototype-of */ "./node_modules/core-js-pure/modules/es.reflect.get-prototype-of.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.Reflect.getPrototypeOf; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/reflect/get.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js-pure/es/reflect/get.js ***! + \*****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.reflect.get */ "./node_modules/core-js-pure/modules/es.reflect.get.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.Reflect.get; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/string/virtual/includes.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js-pure/es/string/virtual/includes.js ***! + \*****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.string.includes */ "./node_modules/core-js-pure/modules/es.string.includes.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('String').includes; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/string/virtual/starts-with.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js-pure/es/string/virtual/starts-with.js ***! + \********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.string.starts-with */ "./node_modules/core-js-pure/modules/es.string.starts-with.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('String').startsWith; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/string/virtual/trim.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/es/string/virtual/trim.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../../modules/es.string.trim */ "./node_modules/core-js-pure/modules/es.string.trim.js"); +var entryVirtual = __webpack_require__(/*! ../../../internals/entry-virtual */ "./node_modules/core-js-pure/internals/entry-virtual.js"); + +module.exports = entryVirtual('String').trim; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/symbol/index.js": +/*!******************************************************!*\ + !*** ./node_modules/core-js-pure/es/symbol/index.js ***! + \******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.array.concat */ "./node_modules/core-js-pure/modules/es.array.concat.js"); +__webpack_require__(/*! ../../modules/es.object.to-string */ "./node_modules/core-js-pure/modules/es.object.to-string.js"); +__webpack_require__(/*! ../../modules/es.symbol */ "./node_modules/core-js-pure/modules/es.symbol.js"); +__webpack_require__(/*! ../../modules/es.symbol.async-iterator */ "./node_modules/core-js-pure/modules/es.symbol.async-iterator.js"); +__webpack_require__(/*! ../../modules/es.symbol.description */ "./node_modules/core-js-pure/modules/es.symbol.description.js"); +__webpack_require__(/*! ../../modules/es.symbol.has-instance */ "./node_modules/core-js-pure/modules/es.symbol.has-instance.js"); +__webpack_require__(/*! ../../modules/es.symbol.is-concat-spreadable */ "./node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js"); +__webpack_require__(/*! ../../modules/es.symbol.iterator */ "./node_modules/core-js-pure/modules/es.symbol.iterator.js"); +__webpack_require__(/*! ../../modules/es.symbol.match */ "./node_modules/core-js-pure/modules/es.symbol.match.js"); +__webpack_require__(/*! ../../modules/es.symbol.match-all */ "./node_modules/core-js-pure/modules/es.symbol.match-all.js"); +__webpack_require__(/*! ../../modules/es.symbol.replace */ "./node_modules/core-js-pure/modules/es.symbol.replace.js"); +__webpack_require__(/*! ../../modules/es.symbol.search */ "./node_modules/core-js-pure/modules/es.symbol.search.js"); +__webpack_require__(/*! ../../modules/es.symbol.species */ "./node_modules/core-js-pure/modules/es.symbol.species.js"); +__webpack_require__(/*! ../../modules/es.symbol.split */ "./node_modules/core-js-pure/modules/es.symbol.split.js"); +__webpack_require__(/*! ../../modules/es.symbol.to-primitive */ "./node_modules/core-js-pure/modules/es.symbol.to-primitive.js"); +__webpack_require__(/*! ../../modules/es.symbol.to-string-tag */ "./node_modules/core-js-pure/modules/es.symbol.to-string-tag.js"); +__webpack_require__(/*! ../../modules/es.symbol.unscopables */ "./node_modules/core-js-pure/modules/es.symbol.unscopables.js"); +__webpack_require__(/*! ../../modules/es.json.to-string-tag */ "./node_modules/core-js-pure/modules/es.json.to-string-tag.js"); +__webpack_require__(/*! ../../modules/es.math.to-string-tag */ "./node_modules/core-js-pure/modules/es.math.to-string-tag.js"); +__webpack_require__(/*! ../../modules/es.reflect.to-string-tag */ "./node_modules/core-js-pure/modules/es.reflect.to-string-tag.js"); +var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = path.Symbol; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/es/symbol/iterator.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js-pure/es/symbol/iterator.js ***! + \*********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/es.symbol.iterator */ "./node_modules/core-js-pure/modules/es.symbol.iterator.js"); +__webpack_require__(/*! ../../modules/es.string.iterator */ "./node_modules/core-js-pure/modules/es.string.iterator.js"); +__webpack_require__(/*! ../../modules/web.dom-collections.iterator */ "./node_modules/core-js-pure/modules/web.dom-collections.iterator.js"); +var WrappedWellKnownSymbolModule = __webpack_require__(/*! ../../internals/well-known-symbol-wrapped */ "./node_modules/core-js-pure/internals/well-known-symbol-wrapped.js"); + +module.exports = WrappedWellKnownSymbolModule.f('iterator'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/features/array/from.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js-pure/features/array/from.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/array/from */ "./node_modules/core-js-pure/es/array/from.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/features/array/is-array.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/features/array/is-array.js ***! + \**************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/array/is-array */ "./node_modules/core-js-pure/es/array/is-array.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/features/get-iterator-method.js": +/*!*******************************************************************!*\ + !*** ./node_modules/core-js-pure/features/get-iterator-method.js ***! + \*******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../modules/web.dom-collections.iterator */ "./node_modules/core-js-pure/modules/web.dom-collections.iterator.js"); +__webpack_require__(/*! ../modules/es.string.iterator */ "./node_modules/core-js-pure/modules/es.string.iterator.js"); +var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js-pure/internals/get-iterator-method.js"); + +module.exports = getIteratorMethod; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/features/get-iterator.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/features/get-iterator.js ***! + \************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../modules/web.dom-collections.iterator */ "./node_modules/core-js-pure/modules/web.dom-collections.iterator.js"); +__webpack_require__(/*! ../modules/es.string.iterator */ "./node_modules/core-js-pure/modules/es.string.iterator.js"); +var getIterator = __webpack_require__(/*! ../internals/get-iterator */ "./node_modules/core-js-pure/internals/get-iterator.js"); + +module.exports = getIterator; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/features/instance/slice.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/features/instance/slice.js ***! + \**************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/instance/slice */ "./node_modules/core-js-pure/es/instance/slice.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/features/object/create.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/features/object/create.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/object/create */ "./node_modules/core-js-pure/es/object/create.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/features/object/define-property.js": +/*!**********************************************************************!*\ + !*** ./node_modules/core-js-pure/features/object/define-property.js ***! + \**********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/object/define-property */ "./node_modules/core-js-pure/es/object/define-property.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/features/object/get-own-property-descriptor.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/core-js-pure/features/object/get-own-property-descriptor.js ***! + \**********************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/object/get-own-property-descriptor */ "./node_modules/core-js-pure/es/object/get-own-property-descriptor.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/features/object/get-prototype-of.js": +/*!***********************************************************************!*\ + !*** ./node_modules/core-js-pure/features/object/get-prototype-of.js ***! + \***********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/object/get-prototype-of */ "./node_modules/core-js-pure/es/object/get-prototype-of.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/features/object/set-prototype-of.js": +/*!***********************************************************************!*\ + !*** ./node_modules/core-js-pure/features/object/set-prototype-of.js ***! + \***********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/object/set-prototype-of */ "./node_modules/core-js-pure/es/object/set-prototype-of.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/features/promise/index.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/features/promise/index.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/promise */ "./node_modules/core-js-pure/es/promise/index.js"); +__webpack_require__(/*! ../../modules/esnext.aggregate-error */ "./node_modules/core-js-pure/modules/esnext.aggregate-error.js"); +// TODO: Remove from `core-js@4` +__webpack_require__(/*! ../../modules/esnext.promise.all-settled */ "./node_modules/core-js-pure/modules/esnext.promise.all-settled.js"); +__webpack_require__(/*! ../../modules/esnext.promise.try */ "./node_modules/core-js-pure/modules/esnext.promise.try.js"); +__webpack_require__(/*! ../../modules/esnext.promise.any */ "./node_modules/core-js-pure/modules/esnext.promise.any.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/features/reflect/get.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/features/reflect/get.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/reflect/get */ "./node_modules/core-js-pure/es/reflect/get.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/features/symbol/index.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/features/symbol/index.js ***! + \************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/symbol */ "./node_modules/core-js-pure/es/symbol/index.js"); +__webpack_require__(/*! ../../modules/esnext.symbol.async-dispose */ "./node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js"); +__webpack_require__(/*! ../../modules/esnext.symbol.dispose */ "./node_modules/core-js-pure/modules/esnext.symbol.dispose.js"); +__webpack_require__(/*! ../../modules/esnext.symbol.matcher */ "./node_modules/core-js-pure/modules/esnext.symbol.matcher.js"); +__webpack_require__(/*! ../../modules/esnext.symbol.metadata */ "./node_modules/core-js-pure/modules/esnext.symbol.metadata.js"); +__webpack_require__(/*! ../../modules/esnext.symbol.observable */ "./node_modules/core-js-pure/modules/esnext.symbol.observable.js"); +// TODO: Remove from `core-js@4` +__webpack_require__(/*! ../../modules/esnext.symbol.pattern-match */ "./node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js"); +// TODO: Remove from `core-js@4` +__webpack_require__(/*! ../../modules/esnext.symbol.replace-all */ "./node_modules/core-js-pure/modules/esnext.symbol.replace-all.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/features/symbol/iterator.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/features/symbol/iterator.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/symbol/iterator */ "./node_modules/core-js-pure/es/symbol/iterator.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/a-function.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/a-function.js ***! + \***********************************************************/ +/***/ (function(module) { + +module.exports = function (it) { + if (typeof it != 'function') { + throw TypeError(String(it) + ' is not a function'); + } return it; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/a-possible-prototype.js": +/*!*********************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/a-possible-prototype.js ***! + \*********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); + +module.exports = function (it) { + if (!isObject(it) && it !== null) { + throw TypeError("Can't set " + String(it) + ' as a prototype'); + } return it; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/add-to-unscopables.js": +/*!*******************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/add-to-unscopables.js ***! + \*******************************************************************/ +/***/ (function(module) { + +module.exports = function () { /* empty */ }; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/an-instance.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/an-instance.js ***! + \************************************************************/ +/***/ (function(module) { + +module.exports = function (it, Constructor, name) { + if (!(it instanceof Constructor)) { + throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation'); + } return it; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/an-object.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/an-object.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); + +module.exports = function (it) { + if (!isObject(it)) { + throw TypeError(String(it) + ' is not an object'); + } return it; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/array-fill.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/array-fill.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js-pure/internals/to-object.js"); +var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js-pure/internals/to-absolute-index.js"); +var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js-pure/internals/to-length.js"); + +// `Array.prototype.fill` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.fill +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = toLength(O.length); + var argumentsLength = arguments.length; + var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); + var end = argumentsLength > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; + return O; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/array-for-each.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/array-for-each.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js-pure/internals/array-iteration.js").forEach; +var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js-pure/internals/array-method-is-strict.js"); + +var STRICT_METHOD = arrayMethodIsStrict('forEach'); + +// `Array.prototype.forEach` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.foreach +module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +} : [].forEach; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/array-from.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/array-from.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js-pure/internals/function-bind-context.js"); +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js-pure/internals/to-object.js"); +var callWithSafeIterationClosing = __webpack_require__(/*! ../internals/call-with-safe-iteration-closing */ "./node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js"); +var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/core-js-pure/internals/is-array-iterator-method.js"); +var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js-pure/internals/to-length.js"); +var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js-pure/internals/create-property.js"); +var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js-pure/internals/get-iterator-method.js"); + +// `Array.from` method implementation +// https://tc39.es/ecma262/#sec-array.from +module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var C = typeof this == 'function' ? this : Array; + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iteratorMethod = getIteratorMethod(O); + var index = 0; + var length, result, step, iterator, next, value; + if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2); + // if the target is not iterable or it's an array with the default iterator - use a simple case + if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) { + iterator = iteratorMethod.call(O); + next = iterator.next; + result = new C(); + for (;!(step = next.call(iterator)).done; index++) { + value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; + createProperty(result, index, value); + } + } else { + length = toLength(O.length); + result = new C(length); + for (;length > index; index++) { + value = mapping ? mapfn(O[index], index) : O[index]; + createProperty(result, index, value); + } + } + result.length = index; + return result; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/array-includes.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/array-includes.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js-pure/internals/to-indexed-object.js"); +var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js-pure/internals/to-length.js"); +var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js-pure/internals/to-absolute-index.js"); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +module.exports = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/array-iteration.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/array-iteration.js ***! + \****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js-pure/internals/function-bind-context.js"); +var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js-pure/internals/indexed-object.js"); +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js-pure/internals/to-object.js"); +var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js-pure/internals/to-length.js"); +var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js-pure/internals/array-species-create.js"); + +var push = [].push; + +// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation +var createMethod = function (TYPE) { + var IS_MAP = TYPE == 1; + var IS_FILTER = TYPE == 2; + var IS_SOME = TYPE == 3; + var IS_EVERY = TYPE == 4; + var IS_FIND_INDEX = TYPE == 6; + var IS_FILTER_OUT = TYPE == 7; + var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + return function ($this, callbackfn, that, specificCreate) { + var O = toObject($this); + var self = IndexedObject(O); + var boundFunction = bind(callbackfn, that, 3); + var length = toLength(self.length); + var index = 0; + var create = specificCreate || arraySpeciesCreate; + var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined; + var value, result; + for (;length > index; index++) if (NO_HOLES || index in self) { + value = self[index]; + result = boundFunction(value, index, O); + if (TYPE) { + if (IS_MAP) target[index] = result; // map + else if (result) switch (TYPE) { + case 3: return true; // some + case 5: return value; // find + case 6: return index; // findIndex + case 2: push.call(target, value); // filter + } else switch (TYPE) { + case 4: return false; // every + case 7: push.call(target, value); // filterOut + } + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; + }; +}; + +module.exports = { + // `Array.prototype.forEach` method + // https://tc39.es/ecma262/#sec-array.prototype.foreach + forEach: createMethod(0), + // `Array.prototype.map` method + // https://tc39.es/ecma262/#sec-array.prototype.map + map: createMethod(1), + // `Array.prototype.filter` method + // https://tc39.es/ecma262/#sec-array.prototype.filter + filter: createMethod(2), + // `Array.prototype.some` method + // https://tc39.es/ecma262/#sec-array.prototype.some + some: createMethod(3), + // `Array.prototype.every` method + // https://tc39.es/ecma262/#sec-array.prototype.every + every: createMethod(4), + // `Array.prototype.find` method + // https://tc39.es/ecma262/#sec-array.prototype.find + find: createMethod(5), + // `Array.prototype.findIndex` method + // https://tc39.es/ecma262/#sec-array.prototype.findIndex + findIndex: createMethod(6), + // `Array.prototype.filterOut` method + // https://github.com/tc39/proposal-array-filtering + filterOut: createMethod(7) +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/array-method-has-species-support.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/array-method-has-species-support.js ***! + \*********************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); +var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js-pure/internals/engine-v8-version.js"); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (METHOD_NAME) { + // We can't use this feature detection in V8 since it causes + // deoptimization and serious performance degradation + // https://github.com/zloirock/core-js/issues/677 + return V8_VERSION >= 51 || !fails(function () { + var array = []; + var constructor = array.constructor = {}; + constructor[SPECIES] = function () { + return { foo: 1 }; + }; + return array[METHOD_NAME](Boolean).foo !== 1; + }); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/array-method-is-strict.js": +/*!***********************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/array-method-is-strict.js ***! + \***********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); + +module.exports = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing + method.call(null, argument || function () { throw 1; }, 1); + }); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/array-reduce.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/array-reduce.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js-pure/internals/a-function.js"); +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js-pure/internals/to-object.js"); +var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js-pure/internals/indexed-object.js"); +var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js-pure/internals/to-length.js"); + +// `Array.prototype.{ reduce, reduceRight }` methods implementation +var createMethod = function (IS_RIGHT) { + return function (that, callbackfn, argumentsLength, memo) { + aFunction(callbackfn); + var O = toObject(that); + var self = IndexedObject(O); + var length = toLength(O.length); + var index = IS_RIGHT ? length - 1 : 0; + var i = IS_RIGHT ? -1 : 1; + if (argumentsLength < 2) while (true) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (IS_RIGHT ? index < 0 : length <= index) { + throw TypeError('Reduce of empty array with no initial value'); + } + } + for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + return memo; + }; +}; + +module.exports = { + // `Array.prototype.reduce` method + // https://tc39.es/ecma262/#sec-array.prototype.reduce + left: createMethod(false), + // `Array.prototype.reduceRight` method + // https://tc39.es/ecma262/#sec-array.prototype.reduceright + right: createMethod(true) +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/array-species-create.js": +/*!*********************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/array-species-create.js ***! + \*********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); +var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js-pure/internals/is-array.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); + +var SPECIES = wellKnownSymbol('species'); + +// `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray, length) { + var C; + if (isArray(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; + else if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return new (C === undefined ? Array : C)(length === 0 ? 0 : length); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js ***! + \*********************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); +var iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ "./node_modules/core-js-pure/internals/iterator-close.js"); + +// call something on iterator step with safe closing on error +module.exports = function (iterator, fn, value, ENTRIES) { + try { + return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); + } catch (error) { + iteratorClose(iterator); + throw error; + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/check-correctness-of-iteration.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/check-correctness-of-iteration.js ***! + \*******************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); + +var ITERATOR = wellKnownSymbol('iterator'); +var SAFE_CLOSING = false; + +try { + var called = 0; + var iteratorWithReturn = { + next: function () { + return { done: !!called++ }; + }, + 'return': function () { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function () { + return this; + }; + // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing + Array.from(iteratorWithReturn, function () { throw 2; }); +} catch (error) { /* empty */ } + +module.exports = function (exec, SKIP_CLOSING) { + if (!SKIP_CLOSING && !SAFE_CLOSING) return false; + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function () { + return { + next: function () { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { /* empty */ } + return ITERATION_SUPPORT; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/classof-raw.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/classof-raw.js ***! + \************************************************************/ +/***/ (function(module) { + +var toString = {}.toString; + +module.exports = function (it) { + return toString.call(it).slice(8, -1); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/classof.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/classof.js ***! + \********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js-pure/internals/to-string-tag-support.js"); +var classofRaw = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js-pure/internals/classof-raw.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/collection-strong.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/collection-strong.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js-pure/internals/object-define-property.js").f; +var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js-pure/internals/object-create.js"); +var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js-pure/internals/redefine-all.js"); +var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js-pure/internals/function-bind-context.js"); +var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js-pure/internals/an-instance.js"); +var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js-pure/internals/iterate.js"); +var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js-pure/internals/define-iterator.js"); +var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js-pure/internals/set-species.js"); +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js-pure/internals/descriptors.js"); +var fastKey = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js-pure/internals/internal-metadata.js").fastKey; +var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js-pure/internals/internal-state.js"); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, CONSTRUCTOR_NAME); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + index: create(null), + first: undefined, + last: undefined, + size: 0 + }); + if (!DESCRIPTORS) that.size = 0; + if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + }); + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var entry = getEntry(that, key); + var previous, index; + // change existing entry + if (entry) { + entry.value = value; + // create new entry + } else { + state.last = entry = { + index: index = fastKey(key, true), + key: key, + value: value, + previous: previous = state.last, + next: undefined, + removed: false + }; + if (!state.first) state.first = entry; + if (previous) previous.next = entry; + if (DESCRIPTORS) state.size++; + else that.size++; + // add to index + if (index !== 'F') state.index[index] = entry; + } return that; + }; + + var getEntry = function (that, key) { + var state = getInternalState(that); + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return state.index[index]; + // frozen object case + for (entry = state.first; entry; entry = entry.next) { + if (entry.key == key) return entry; + } + }; + + redefineAll(C.prototype, { + // `{ Map, Set }.prototype.clear()` methods + // https://tc39.es/ecma262/#sec-map.prototype.clear + // https://tc39.es/ecma262/#sec-set.prototype.clear + clear: function clear() { + var that = this; + var state = getInternalState(that); + var data = state.index; + var entry = state.first; + while (entry) { + entry.removed = true; + if (entry.previous) entry.previous = entry.previous.next = undefined; + delete data[entry.index]; + entry = entry.next; + } + state.first = state.last = undefined; + if (DESCRIPTORS) state.size = 0; + else that.size = 0; + }, + // `{ Map, Set }.prototype.delete(key)` methods + // https://tc39.es/ecma262/#sec-map.prototype.delete + // https://tc39.es/ecma262/#sec-set.prototype.delete + 'delete': function (key) { + var that = this; + var state = getInternalState(that); + var entry = getEntry(that, key); + if (entry) { + var next = entry.next; + var prev = entry.previous; + delete state.index[entry.index]; + entry.removed = true; + if (prev) prev.next = next; + if (next) next.previous = prev; + if (state.first == entry) state.first = next; + if (state.last == entry) state.last = prev; + if (DESCRIPTORS) state.size--; + else that.size--; + } return !!entry; + }, + // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods + // https://tc39.es/ecma262/#sec-map.prototype.foreach + // https://tc39.es/ecma262/#sec-set.prototype.foreach + forEach: function forEach(callbackfn /* , that = undefined */) { + var state = getInternalState(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var entry; + while (entry = entry ? entry.next : state.first) { + boundFunction(entry.value, entry.key, this); + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + } + }, + // `{ Map, Set}.prototype.has(key)` methods + // https://tc39.es/ecma262/#sec-map.prototype.has + // https://tc39.es/ecma262/#sec-set.prototype.has + has: function has(key) { + return !!getEntry(this, key); + } + }); + + redefineAll(C.prototype, IS_MAP ? { + // `Map.prototype.get(key)` method + // https://tc39.es/ecma262/#sec-map.prototype.get + get: function get(key) { + var entry = getEntry(this, key); + return entry && entry.value; + }, + // `Map.prototype.set(key, value)` method + // https://tc39.es/ecma262/#sec-map.prototype.set + set: function set(key, value) { + return define(this, key === 0 ? 0 : key, value); + } + } : { + // `Set.prototype.add(value)` method + // https://tc39.es/ecma262/#sec-set.prototype.add + add: function add(value) { + return define(this, value = value === 0 ? 0 : value, value); + } + }); + if (DESCRIPTORS) defineProperty(C.prototype, 'size', { + get: function () { + return getInternalState(this).size; + } + }); + return C; + }, + setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) { + var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; + var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); + var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); + // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods + // https://tc39.es/ecma262/#sec-map.prototype.entries + // https://tc39.es/ecma262/#sec-map.prototype.keys + // https://tc39.es/ecma262/#sec-map.prototype.values + // https://tc39.es/ecma262/#sec-map.prototype-@@iterator + // https://tc39.es/ecma262/#sec-set.prototype.entries + // https://tc39.es/ecma262/#sec-set.prototype.keys + // https://tc39.es/ecma262/#sec-set.prototype.values + // https://tc39.es/ecma262/#sec-set.prototype-@@iterator + defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) { + setInternalState(this, { + type: ITERATOR_NAME, + target: iterated, + state: getInternalCollectionState(iterated), + kind: kind, + last: undefined + }); + }, function () { + var state = getInternalIteratorState(this); + var kind = state.kind; + var entry = state.last; + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + // get next entry + if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { + // or finish the iteration + state.target = undefined; + return { value: undefined, done: true }; + } + // return step by kind + if (kind == 'keys') return { value: entry.key, done: false }; + if (kind == 'values') return { value: entry.value, done: false }; + return { value: [entry.key, entry.value], done: false }; + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // `{ Map, Set }.prototype[@@species]` accessors + // https://tc39.es/ecma262/#sec-get-map-@@species + // https://tc39.es/ecma262/#sec-get-set-@@species + setSpecies(CONSTRUCTOR_NAME); + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/collection.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/collection.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ./export */ "./node_modules/core-js-pure/internals/export.js"); +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var InternalMetadataModule = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js-pure/internals/internal-metadata.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js-pure/internals/create-non-enumerable-property.js"); +var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js-pure/internals/iterate.js"); +var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js-pure/internals/an-instance.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); +var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js-pure/internals/set-to-string-tag.js"); +var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js-pure/internals/object-define-property.js").f; +var forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js-pure/internals/array-iteration.js").forEach; +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js-pure/internals/descriptors.js"); +var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js-pure/internals/internal-state.js"); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; + +module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { + var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; + var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; + var ADDER = IS_MAP ? 'set' : 'add'; + var NativeConstructor = global[CONSTRUCTOR_NAME]; + var NativePrototype = NativeConstructor && NativeConstructor.prototype; + var exported = {}; + var Constructor; + + if (!DESCRIPTORS || typeof NativeConstructor != 'function' + || !(IS_WEAK || NativePrototype.forEach && !fails(function () { new NativeConstructor().entries().next(); })) + ) { + // create collection constructor + Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); + InternalMetadataModule.REQUIRED = true; + } else { + Constructor = wrapper(function (target, iterable) { + setInternalState(anInstance(target, Constructor, CONSTRUCTOR_NAME), { + type: CONSTRUCTOR_NAME, + collection: new NativeConstructor() + }); + if (iterable != undefined) iterate(iterable, target[ADDER], { that: target, AS_ENTRIES: IS_MAP }); + }); + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + forEach(['add', 'clear', 'delete', 'forEach', 'get', 'has', 'set', 'keys', 'values', 'entries'], function (KEY) { + var IS_ADDER = KEY == 'add' || KEY == 'set'; + if (KEY in NativePrototype && !(IS_WEAK && KEY == 'clear')) { + createNonEnumerableProperty(Constructor.prototype, KEY, function (a, b) { + var collection = getInternalState(this).collection; + if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false; + var result = collection[KEY](a === 0 ? 0 : a, b); + return IS_ADDER ? this : result; + }); + } + }); + + IS_WEAK || defineProperty(Constructor.prototype, 'size', { + configurable: true, + get: function () { + return getInternalState(this).collection.size; + } + }); + } + + setToStringTag(Constructor, CONSTRUCTOR_NAME, false, true); + + exported[CONSTRUCTOR_NAME] = Constructor; + $({ global: true, forced: true }, exported); + + if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); + + return Constructor; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/correct-is-regexp-logic.js": +/*!************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/correct-is-regexp-logic.js ***! + \************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); + +var MATCH = wellKnownSymbol('match'); + +module.exports = function (METHOD_NAME) { + var regexp = /./; + try { + '/./'[METHOD_NAME](regexp); + } catch (error1) { + try { + regexp[MATCH] = false; + return '/./'[METHOD_NAME](regexp); + } catch (error2) { /* empty */ } + } return false; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/correct-prototype-getter.js": +/*!*************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/correct-prototype-getter.js ***! + \*************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); + +module.exports = !fails(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/create-iterator-constructor.js": +/*!****************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/create-iterator-constructor.js ***! + \****************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var IteratorPrototype = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js-pure/internals/iterators-core.js").IteratorPrototype; +var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js-pure/internals/object-create.js"); +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js-pure/internals/create-property-descriptor.js"); +var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js-pure/internals/set-to-string-tag.js"); +var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js-pure/internals/iterators.js"); + +var returnThis = function () { return this; }; + +module.exports = function (IteratorConstructor, NAME, next) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/create-non-enumerable-property.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/create-non-enumerable-property.js ***! + \*******************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js-pure/internals/descriptors.js"); +var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js-pure/internals/object-define-property.js"); +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js-pure/internals/create-property-descriptor.js"); + +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/create-property-descriptor.js": +/*!***************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/create-property-descriptor.js ***! + \***************************************************************************/ +/***/ (function(module) { + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/create-property.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/create-property.js ***! + \****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js-pure/internals/to-primitive.js"); +var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js-pure/internals/object-define-property.js"); +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js-pure/internals/create-property-descriptor.js"); + +module.exports = function (object, key, value) { + var propertyKey = toPrimitive(key); + if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else object[propertyKey] = value; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/define-iterator.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/define-iterator.js ***! + \****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ "./node_modules/core-js-pure/internals/create-iterator-constructor.js"); +var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js-pure/internals/object-get-prototype-of.js"); +var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js-pure/internals/object-set-prototype-of.js"); +var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js-pure/internals/set-to-string-tag.js"); +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js-pure/internals/create-non-enumerable-property.js"); +var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js-pure/internals/redefine.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js-pure/internals/is-pure.js"); +var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js-pure/internals/iterators.js"); +var IteratorsCore = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js-pure/internals/iterators-core.js"); + +var IteratorPrototype = IteratorsCore.IteratorPrototype; +var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; +var ITERATOR = wellKnownSymbol('iterator'); +var KEYS = 'keys'; +var VALUES = 'values'; +var ENTRIES = 'entries'; + +var returnThis = function () { return this; }; + +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + + var getIterationMethod = function (KIND) { + if (KIND === DEFAULT && defaultIterator) return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND]; + switch (KIND) { + case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; + case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; + case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; + } return function () { return new IteratorConstructor(this); }; + }; + + var TO_STRING_TAG = NAME + ' Iterator'; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] + || IterablePrototype['@@iterator'] + || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + + // fix native + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') { + createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + // Set @@toStringTag to native iterators + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; + } + } + + // fix Array.prototype.{ values, @@iterator }.name in V8 / FF + if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { return nativeIterator.call(this); }; + } + + // define iterator + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator); + } + Iterators[NAME] = defaultIterator; + + // export additional methods + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + redefine(IterablePrototype, KEY, methods[KEY]); + } + } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); + } + + return methods; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/define-well-known-symbol.js": +/*!*************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/define-well-known-symbol.js ***! + \*************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js-pure/internals/path.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js-pure/internals/has.js"); +var wrappedWellKnownSymbolModule = __webpack_require__(/*! ../internals/well-known-symbol-wrapped */ "./node_modules/core-js-pure/internals/well-known-symbol-wrapped.js"); +var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js-pure/internals/object-define-property.js").f; + +module.exports = function (NAME) { + var Symbol = path.Symbol || (path.Symbol = {}); + if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, { + value: wrappedWellKnownSymbolModule.f(NAME) + }); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/descriptors.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/descriptors.js ***! + \************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); + +// Detect IE8's incomplete defineProperty implementation +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/document-create-element.js": +/*!************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/document-create-element.js ***! + \************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); + +var document = global.document; +// typeof document.createElement is 'object' in old IE +var EXISTS = isObject(document) && isObject(document.createElement); + +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/dom-iterables.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/dom-iterables.js ***! + \**************************************************************/ +/***/ (function(module) { + +// iterable DOM collections +// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods +module.exports = { + CSSRuleList: 0, + CSSStyleDeclaration: 0, + CSSValueList: 0, + ClientRectList: 0, + DOMRectList: 0, + DOMStringList: 0, + DOMTokenList: 1, + DataTransferItemList: 0, + FileList: 0, + HTMLAllCollection: 0, + HTMLCollection: 0, + HTMLFormElement: 0, + HTMLSelectElement: 0, + MediaList: 0, + MimeTypeArray: 0, + NamedNodeMap: 0, + NodeList: 1, + PaintRequestList: 0, + Plugin: 0, + PluginArray: 0, + SVGLengthList: 0, + SVGNumberList: 0, + SVGPathSegList: 0, + SVGPointList: 0, + SVGStringList: 0, + SVGTransformList: 0, + SourceBufferList: 0, + StyleSheetList: 0, + TextTrackCueList: 0, + TextTrackList: 0, + TouchList: 0 +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/engine-is-browser.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/engine-is-browser.js ***! + \******************************************************************/ +/***/ (function(module) { + +module.exports = typeof window == 'object'; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/engine-is-ios.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/engine-is-ios.js ***! + \**************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js-pure/internals/engine-user-agent.js"); + +module.exports = /(?:iphone|ipod|ipad).*applewebkit/i.test(userAgent); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/engine-is-node.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/engine-is-node.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js-pure/internals/classof-raw.js"); +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); + +module.exports = classof(global.process) == 'process'; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/engine-is-webos-webkit.js": +/*!***********************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/engine-is-webos-webkit.js ***! + \***********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js-pure/internals/engine-user-agent.js"); + +module.exports = /web0s(?!.*chrome)/i.test(userAgent); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/engine-user-agent.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/engine-user-agent.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js-pure/internals/get-built-in.js"); + +module.exports = getBuiltIn('navigator', 'userAgent') || ''; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/engine-v8-version.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/engine-v8-version.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js-pure/internals/engine-user-agent.js"); + +var process = global.process; +var versions = process && process.versions; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + version = match[0] < 4 ? 1 : match[0] + match[1]; +} else if (userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) version = match[1]; + } +} + +module.exports = version && +version; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/entry-virtual.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/entry-virtual.js ***! + \**************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js-pure/internals/path.js"); + +module.exports = function (CONSTRUCTOR) { + return path[CONSTRUCTOR + 'Prototype']; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/enum-bug-keys.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/enum-bug-keys.js ***! + \**************************************************************/ +/***/ (function(module) { + +// IE8- don't enum bug keys +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/export.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js-pure/internals/export.js ***! + \*******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js").f; +var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js-pure/internals/is-forced.js"); +var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js-pure/internals/path.js"); +var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js-pure/internals/function-bind-context.js"); +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js-pure/internals/create-non-enumerable-property.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js-pure/internals/has.js"); + +var wrapConstructor = function (NativeConstructor) { + var Wrapper = function (a, b, c) { + if (this instanceof NativeConstructor) { + switch (arguments.length) { + case 0: return new NativeConstructor(); + case 1: return new NativeConstructor(a); + case 2: return new NativeConstructor(a, b); + } return new NativeConstructor(a, b, c); + } return NativeConstructor.apply(this, arguments); + }; + Wrapper.prototype = NativeConstructor.prototype; + return Wrapper; +}; + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.noTargetGet - prevent calling a getter on target +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var PROTO = options.proto; + + var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype; + + var target = GLOBAL ? path : path[TARGET] || (path[TARGET] = {}); + var targetPrototype = target.prototype; + + var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE; + var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor; + + for (key in source) { + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contains in native + USE_NATIVE = !FORCED && nativeSource && has(nativeSource, key); + + targetProperty = target[key]; + + if (USE_NATIVE) if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(nativeSource, key); + nativeProperty = descriptor && descriptor.value; + } else nativeProperty = nativeSource[key]; + + // export native or implementation + sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key]; + + if (USE_NATIVE && typeof targetProperty === typeof sourceProperty) continue; + + // bind timers to global for call from export context + if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global); + // wrap global constructors for prevent changs in this version + else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty); + // make static versions for prototype methods + else if (PROTO && typeof sourceProperty == 'function') resultProperty = bind(Function.call, sourceProperty); + // default case + else resultProperty = sourceProperty; + + // add a flag to not completely full polyfills + if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(resultProperty, 'sham', true); + } + + target[key] = resultProperty; + + if (PROTO) { + VIRTUAL_PROTOTYPE = TARGET + 'Prototype'; + if (!has(path, VIRTUAL_PROTOTYPE)) { + createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {}); + } + // export virtual prototype methods + path[VIRTUAL_PROTOTYPE][key] = sourceProperty; + // export real prototype methods + if (options.real && targetPrototype && !targetPrototype[key]) { + createNonEnumerableProperty(targetPrototype, key, sourceProperty); + } + } + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/fails.js": +/*!******************************************************!*\ + !*** ./node_modules/core-js-pure/internals/fails.js ***! + \******************************************************/ +/***/ (function(module) { + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/freezing.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/freezing.js ***! + \*********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing + return Object.isExtensible(Object.preventExtensions({})); +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/function-bind-context.js": +/*!**********************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/function-bind-context.js ***! + \**********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js-pure/internals/a-function.js"); + +// optional / simple context binding +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 0: return function () { + return fn.call(that); + }; + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/function-bind.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/function-bind.js ***! + \**************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js-pure/internals/a-function.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); + +var slice = [].slice; +var factories = {}; + +var construct = function (C, argsLength, args) { + if (!(argsLength in factories)) { + for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']'; + // eslint-disable-next-line no-new-func -- we have no proper alternatives, IE8- only + factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')'); + } return factories[argsLength](C, args); +}; + +// `Function.prototype.bind` method implementation +// https://tc39.es/ecma262/#sec-function.prototype.bind +module.exports = Function.bind || function bind(that /* , ...args */) { + var fn = aFunction(this); + var partArgs = slice.call(arguments, 1); + var boundFunction = function bound(/* args... */) { + var args = partArgs.concat(slice.call(arguments)); + return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args); + }; + if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype; + return boundFunction; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/get-built-in.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/get-built-in.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js-pure/internals/path.js"); +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); + +var aFunction = function (variable) { + return typeof variable == 'function' ? variable : undefined; +}; + +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) + : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method]; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/get-iterator-method.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/get-iterator-method.js ***! + \********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js-pure/internals/classof.js"); +var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js-pure/internals/iterators.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = function (it) { + if (it != undefined) return it[ITERATOR] + || it['@@iterator'] + || Iterators[classof(it)]; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/get-iterator.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/get-iterator.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); +var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js-pure/internals/get-iterator-method.js"); + +module.exports = function (it) { + var iteratorMethod = getIteratorMethod(it); + if (typeof iteratorMethod != 'function') { + throw TypeError(String(it) + ' is not iterable'); + } return anObject(iteratorMethod.call(it)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/global.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js-pure/internals/global.js ***! + \*******************************************************/ +/***/ (function(module) { + +var check = function (it) { + return it && it.Math == Math && it; +}; + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +module.exports = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof global == 'object' && global) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || Function('return this')(); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/has.js": +/*!****************************************************!*\ + !*** ./node_modules/core-js-pure/internals/has.js ***! + \****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js-pure/internals/to-object.js"); + +var hasOwnProperty = {}.hasOwnProperty; + +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty.call(toObject(it), key); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/hidden-keys.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/hidden-keys.js ***! + \************************************************************/ +/***/ (function(module) { + +module.exports = {}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/host-report-errors.js": +/*!*******************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/host-report-errors.js ***! + \*******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); + +module.exports = function (a, b) { + var console = global.console; + if (console && console.error) { + arguments.length === 1 ? console.error(a) : console.error(a, b); + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/html.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js-pure/internals/html.js ***! + \*****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js-pure/internals/get-built-in.js"); + +module.exports = getBuiltIn('document', 'documentElement'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/ie8-dom-define.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/ie8-dom-define.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js-pure/internals/descriptors.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); +var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js-pure/internals/document-create-element.js"); + +// Thank's IE8 for his funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- requied for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a != 7; +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/indexed-object.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/indexed-object.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); +var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js-pure/internals/classof-raw.js"); + +var split = ''.split; + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) == 'String' ? split.call(it, '') : Object(it); +} : Object; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/inspect-source.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/inspect-source.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js-pure/internals/shared-store.js"); + +var functionToString = Function.toString; + +// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper +if (typeof store.inspectSource != 'function') { + store.inspectSource = function (it) { + return functionToString.call(it); + }; +} + +module.exports = store.inspectSource; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/internal-metadata.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/internal-metadata.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js-pure/internals/hidden-keys.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js-pure/internals/has.js"); +var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js-pure/internals/object-define-property.js").f; +var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js-pure/internals/uid.js"); +var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js-pure/internals/freezing.js"); + +var METADATA = uid('meta'); +var id = 0; + +// eslint-disable-next-line es/no-object-isextensible -- safe +var isExtensible = Object.isExtensible || function () { + return true; +}; + +var setMetadata = function (it) { + defineProperty(it, METADATA, { value: { + objectID: 'O' + id++, // object ID + weakData: {} // weak collections IDs + } }); +}; + +var fastKey = function (it, create) { + // return a primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!has(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMetadata(it); + // return object ID + } return it[METADATA].objectID; +}; + +var getWeakData = function (it, create) { + if (!has(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMetadata(it); + // return the store of weak collections IDs + } return it[METADATA].weakData; +}; + +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it); + return it; +}; + +var meta = module.exports = { + REQUIRED: false, + fastKey: fastKey, + getWeakData: getWeakData, + onFreeze: onFreeze +}; + +hiddenKeys[METADATA] = true; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/internal-state.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/internal-state.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ "./node_modules/core-js-pure/internals/native-weak-map.js"); +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js-pure/internals/create-non-enumerable-property.js"); +var objectHas = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js-pure/internals/has.js"); +var shared = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js-pure/internals/shared-store.js"); +var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js-pure/internals/shared-key.js"); +var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js-pure/internals/hidden-keys.js"); + +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var WeakMap = global.WeakMap; +var set, get, has; + +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; + +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + var wmget = store.get; + var wmhas = store.has; + var wmset = store.set; + set = function (it, metadata) { + if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + wmset.call(store, it, metadata); + return metadata; + }; + get = function (it) { + return wmget.call(store, it) || {}; + }; + has = function (it) { + return wmhas.call(store, it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return objectHas(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return objectHas(it, STATE); + }; +} + +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/is-array-iterator-method.js": +/*!*************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/is-array-iterator-method.js ***! + \*************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); +var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js-pure/internals/iterators.js"); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; + +// check on default Array iterator +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/is-array.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/is-array.js ***! + \*********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js-pure/internals/classof-raw.js"); + +// `IsArray` abstract operation +// https://tc39.es/ecma262/#sec-isarray +// eslint-disable-next-line es/no-array-isarray -- safe +module.exports = Array.isArray || function isArray(arg) { + return classof(arg) == 'Array'; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/is-forced.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/is-forced.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); + +var replacement = /#|\.prototype\./; + +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value == POLYFILL ? true + : value == NATIVE ? false + : typeof detection == 'function' ? fails(detection) + : !!detection; +}; + +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; + +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; + +module.exports = isForced; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/is-object.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/is-object.js ***! + \**********************************************************/ +/***/ (function(module) { + +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/is-pure.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/is-pure.js ***! + \********************************************************/ +/***/ (function(module) { + +module.exports = true; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/is-regexp.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/is-regexp.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); +var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js-pure/internals/classof-raw.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); + +var MATCH = wellKnownSymbol('match'); + +// `IsRegExp` abstract operation +// https://tc39.es/ecma262/#sec-isregexp +module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp'); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/iterate.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/iterate.js ***! + \********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); +var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/core-js-pure/internals/is-array-iterator-method.js"); +var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js-pure/internals/to-length.js"); +var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js-pure/internals/function-bind-context.js"); +var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js-pure/internals/get-iterator-method.js"); +var iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ "./node_modules/core-js-pure/internals/iterator-close.js"); + +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; + +module.exports = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED); + var iterator, iterFn, index, length, result, next, step; + + var stop = function (condition) { + if (iterator) iteratorClose(iterator); + return new Result(true, condition); + }; + + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } return INTERRUPTED ? fn(value, stop) : fn(value); + }; + + if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (typeof iterFn != 'function') throw TypeError('Target is not iterable'); + // optimisation for array iterators + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = toLength(iterable.length); length > index; index++) { + result = callFn(iterable[index]); + if (result && result instanceof Result) return result; + } return new Result(false); + } + iterator = iterFn.call(iterable); + } + + next = iterator.next; + while (!(step = next.call(iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator); + throw error; + } + if (typeof result == 'object' && result && result instanceof Result) return result; + } return new Result(false); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/iterator-close.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/iterator-close.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); + +module.exports = function (iterator) { + var returnMethod = iterator['return']; + if (returnMethod !== undefined) { + return anObject(returnMethod.call(iterator)).value; + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/iterators-core.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/iterators-core.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); +var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js-pure/internals/object-get-prototype-of.js"); +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js-pure/internals/create-non-enumerable-property.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js-pure/internals/has.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js-pure/internals/is-pure.js"); + +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; + +var returnThis = function () { return this; }; + +// `%IteratorPrototype%` object +// https://tc39.es/ecma262/#sec-%iteratorprototype%-object +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + +/* eslint-disable es/no-array-prototype-keys -- safe */ +if ([].keys) { + arrayIterator = [].keys(); + // Safari 8 has buggy iterators w/o `next` + if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} + +var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () { + var test = {}; + // FF44- legacy iterators case + return IteratorPrototype[ITERATOR].call(test) !== test; +}); + +if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; + +// `%IteratorPrototype%[@@iterator]()` method +// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator +if ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) { + createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis); +} + +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/iterators.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/iterators.js ***! + \**********************************************************/ +/***/ (function(module) { + +module.exports = {}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/microtask.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/microtask.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js").f; +var macrotask = __webpack_require__(/*! ../internals/task */ "./node_modules/core-js-pure/internals/task.js").set; +var IS_IOS = __webpack_require__(/*! ../internals/engine-is-ios */ "./node_modules/core-js-pure/internals/engine-is-ios.js"); +var IS_WEBOS_WEBKIT = __webpack_require__(/*! ../internals/engine-is-webos-webkit */ "./node_modules/core-js-pure/internals/engine-is-webos-webkit.js"); +var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js-pure/internals/engine-is-node.js"); + +var MutationObserver = global.MutationObserver || global.WebKitMutationObserver; +var document = global.document; +var process = global.process; +var Promise = global.Promise; +// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask` +var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask'); +var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; + +var flush, head, last, notify, toggle, node, promise, then; + +// modern engines have queueMicrotask method +if (!queueMicrotask) { + flush = function () { + var parent, fn; + if (IS_NODE && (parent = process.domain)) parent.exit(); + while (head) { + fn = head.fn; + head = head.next; + try { + fn(); + } catch (error) { + if (head) notify(); + else last = undefined; + throw error; + } + } last = undefined; + if (parent) parent.enter(); + }; + + // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 + // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898 + if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) { + toggle = true; + node = document.createTextNode(''); + new MutationObserver(flush).observe(node, { characterData: true }); + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + promise = Promise.resolve(undefined); + // workaround of WebKit ~ iOS Safari 10.1 bug + promise.constructor = Promise; + then = promise.then; + notify = function () { + then.call(promise, flush); + }; + // Node.js without promises + } else if (IS_NODE) { + notify = function () { + process.nextTick(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessag + // - onreadystatechange + // - setTimeout + } else { + notify = function () { + // strange IE + webpack dev server bug - use .call(global) + macrotask.call(global, flush); + }; + } +} + +module.exports = queueMicrotask || function (fn) { + var task = { fn: fn, next: undefined }; + if (last) last.next = task; + if (!head) { + head = task; + notify(); + } last = task; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/native-promise-constructor.js": +/*!***************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/native-promise-constructor.js ***! + \***************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); + +module.exports = global.Promise; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/native-symbol.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/native-symbol.js ***! + \**************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +/* eslint-disable es/no-symbol -- required for testing */ +var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js-pure/internals/engine-v8-version.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol(); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + return !String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/native-weak-map.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/native-weak-map.js ***! + \****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js-pure/internals/inspect-source.js"); + +var WeakMap = global.WeakMap; + +module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap)); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/new-promise-capability.js": +/*!***********************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/new-promise-capability.js ***! + \***********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js-pure/internals/a-function.js"); + +var PromiseCapability = function (C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aFunction(resolve); + this.reject = aFunction(reject); +}; + +// `NewPromiseCapability` abstract operation +// https://tc39.es/ecma262/#sec-newpromisecapability +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/not-a-regexp.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/not-a-regexp.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js-pure/internals/is-regexp.js"); + +module.exports = function (it) { + if (isRegExp(it)) { + throw TypeError("The method doesn't accept regular expressions"); + } return it; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/number-parse-float.js": +/*!*******************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/number-parse-float.js ***! + \*******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js-pure/internals/string-trim.js").trim; +var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js-pure/internals/whitespaces.js"); + +var $parseFloat = global.parseFloat; +var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity; + +// `parseFloat` method +// https://tc39.es/ecma262/#sec-parsefloat-string +module.exports = FORCED ? function parseFloat(string) { + var trimmedString = trim(String(string)); + var result = $parseFloat(trimmedString); + return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result; +} : $parseFloat; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/number-parse-int.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/number-parse-int.js ***! + \*****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js-pure/internals/string-trim.js").trim; +var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js-pure/internals/whitespaces.js"); + +var $parseInt = global.parseInt; +var hex = /^[+-]?0[Xx]/; +var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22; + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +module.exports = FORCED ? function parseInt(string, radix) { + var S = trim(String(string)); + return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10)); +} : $parseInt; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/object-create.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/object-create.js ***! + \**************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); +var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js-pure/internals/object-define-properties.js"); +var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js-pure/internals/enum-bug-keys.js"); +var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js-pure/internals/hidden-keys.js"); +var html = __webpack_require__(/*! ../internals/html */ "./node_modules/core-js-pure/internals/html.js"); +var documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js-pure/internals/document-create-element.js"); +var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js-pure/internals/shared-key.js"); + +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); + +var EmptyConstructor = function () { /* empty */ }; + +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; + +// Create object with fake `null` prototype: use ActiveX Object with cleared prototype +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + activeXDocument = null; // avoid memory leak + return temp; +}; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var NullProtoObjectViaIFrame = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + // https://github.com/zloirock/core-js/issues/475 + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; + +// Check for document.domain and active x support +// No need to use active x approach when document.domain is not set +// see https://github.com/es-shims/es5-shim/issues/150 +// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 +// avoid IE GC bug +var activeXDocument; +var NullProtoObject = function () { + try { + /* global ActiveXObject -- old IE */ + activeXDocument = document.domain && new ActiveXObject('htmlfile'); + } catch (error) { /* ignore */ } + NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame(); + var length = enumBugKeys.length; + while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; + +hiddenKeys[IE_PROTO] = true; + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = NullProtoObject(); + return Properties === undefined ? result : defineProperties(result, Properties); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/object-define-properties.js": +/*!*************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/object-define-properties.js ***! + \*************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js-pure/internals/descriptors.js"); +var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js-pure/internals/object-define-property.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); +var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js-pure/internals/object-keys.js"); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]); + return O; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/object-define-property.js": +/*!***********************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/object-define-property.js ***! + \***********************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js-pure/internals/descriptors.js"); +var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js-pure/internals/ie8-dom-define.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); +var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js-pure/internals/to-primitive.js"); + +// eslint-disable-next-line es/no-object-defineproperty -- safe +var $defineProperty = Object.defineProperty; + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return $defineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js ***! + \***********************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js-pure/internals/descriptors.js"); +var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js-pure/internals/object-property-is-enumerable.js"); +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js-pure/internals/create-property-descriptor.js"); +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js-pure/internals/to-indexed-object.js"); +var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js-pure/internals/to-primitive.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js-pure/internals/has.js"); +var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js-pure/internals/ie8-dom-define.js"); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPrimitive(P, true); + if (IE8_DOM_DEFINE) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/object-get-own-property-names-external.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/object-get-own-property-names-external.js ***! + \***************************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +/* eslint-disable es/no-object-getownpropertynames -- safe */ +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js-pure/internals/to-indexed-object.js"); +var $getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js-pure/internals/object-get-own-property-names.js").f; + +var toString = {}.toString; + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return $getOwnPropertyNames(it); + } catch (error) { + return windowNames.slice(); + } +}; + +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && toString.call(it) == '[object Window]' + ? getWindowNames(it) + : $getOwnPropertyNames(toIndexedObject(it)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/object-get-own-property-names.js": +/*!******************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/object-get-own-property-names.js ***! + \******************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js-pure/internals/object-keys-internal.js"); +var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js-pure/internals/enum-bug-keys.js"); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/object-get-own-property-symbols.js": +/*!********************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/object-get-own-property-symbols.js ***! + \********************************************************************************/ +/***/ (function(__unused_webpack_module, exports) { + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +exports.f = Object.getOwnPropertySymbols; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/object-get-prototype-of.js": +/*!************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/object-get-prototype-of.js ***! + \************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js-pure/internals/has.js"); +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js-pure/internals/to-object.js"); +var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js-pure/internals/shared-key.js"); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js-pure/internals/correct-prototype-getter.js"); + +var IE_PROTO = sharedKey('IE_PROTO'); +var ObjectPrototype = Object.prototype; + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +// eslint-disable-next-line es/no-object-getprototypeof -- safe +module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { + O = toObject(O); + if (has(O, IE_PROTO)) return O[IE_PROTO]; + if (typeof O.constructor == 'function' && O instanceof O.constructor) { + return O.constructor.prototype; + } return O instanceof Object ? ObjectPrototype : null; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/object-keys-internal.js": +/*!*********************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/object-keys-internal.js ***! + \*********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js-pure/internals/has.js"); +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js-pure/internals/to-indexed-object.js"); +var indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js-pure/internals/array-includes.js").indexOf; +var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js-pure/internals/hidden-keys.js"); + +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has(O, key = names[i++])) { + ~indexOf(result, key) || result.push(key); + } + return result; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/object-keys.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/object-keys.js ***! + \************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js-pure/internals/object-keys-internal.js"); +var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js-pure/internals/enum-bug-keys.js"); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +// eslint-disable-next-line es/no-object-keys -- safe +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/object-property-is-enumerable.js": +/*!******************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/object-property-is-enumerable.js ***! + \******************************************************************************/ +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); + +// `Object.prototype.propertyIsEnumerable` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/object-set-prototype-of.js": +/*!************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/object-set-prototype-of.js ***! + \************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +/* eslint-disable no-proto -- safe */ +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); +var aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ "./node_modules/core-js-pure/internals/a-possible-prototype.js"); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +// Works with __proto__ only. Old v8 can't work with null proto objects. +// eslint-disable-next-line es/no-object-setprototypeof -- safe +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; + setter.call(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { /* empty */ } + return function setPrototypeOf(O, proto) { + anObject(O); + aPossiblePrototype(proto); + if (CORRECT_SETTER) setter.call(O, proto); + else O.__proto__ = proto; + return O; + }; +}() : undefined); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/object-to-string.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/object-to-string.js ***! + \*****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js-pure/internals/to-string-tag-support.js"); +var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js-pure/internals/classof.js"); + +// `Object.prototype.toString` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.tostring +module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { + return '[object ' + classof(this) + ']'; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/own-keys.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/own-keys.js ***! + \*********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js-pure/internals/get-built-in.js"); +var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js-pure/internals/object-get-own-property-names.js"); +var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js-pure/internals/object-get-own-property-symbols.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); + +// all object keys, includes non-enumerable and symbols +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/path.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js-pure/internals/path.js ***! + \*****************************************************/ +/***/ (function(module) { + +module.exports = {}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/perform.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/perform.js ***! + \********************************************************/ +/***/ (function(module) { + +module.exports = function (exec) { + try { + return { error: false, value: exec() }; + } catch (error) { + return { error: true, value: error }; + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/promise-resolve.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/promise-resolve.js ***! + \****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); +var newPromiseCapability = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js-pure/internals/new-promise-capability.js"); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/redefine-all.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/redefine-all.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js-pure/internals/redefine.js"); + +module.exports = function (target, src, options) { + for (var key in src) { + if (options && options.unsafe && target[key]) target[key] = src[key]; + else redefine(target, key, src[key], options); + } return target; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/redefine.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/redefine.js ***! + \*********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js-pure/internals/create-non-enumerable-property.js"); + +module.exports = function (target, key, value, options) { + if (options && options.enumerable) target[key] = value; + else createNonEnumerableProperty(target, key, value); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/require-object-coercible.js": +/*!*************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/require-object-coercible.js ***! + \*************************************************************************/ +/***/ (function(module) { + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/set-global.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/set-global.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js-pure/internals/create-non-enumerable-property.js"); + +module.exports = function (key, value) { + try { + createNonEnumerableProperty(global, key, value); + } catch (error) { + global[key] = value; + } return value; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/set-species.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/set-species.js ***! + \************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js-pure/internals/get-built-in.js"); +var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js-pure/internals/object-define-property.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js-pure/internals/descriptors.js"); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (CONSTRUCTOR_NAME) { + var Constructor = getBuiltIn(CONSTRUCTOR_NAME); + var defineProperty = definePropertyModule.f; + + if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { + defineProperty(Constructor, SPECIES, { + configurable: true, + get: function () { return this; } + }); + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/set-to-string-tag.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/set-to-string-tag.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js-pure/internals/to-string-tag-support.js"); +var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js-pure/internals/object-define-property.js").f; +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js-pure/internals/create-non-enumerable-property.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js-pure/internals/has.js"); +var toString = __webpack_require__(/*! ../internals/object-to-string */ "./node_modules/core-js-pure/internals/object-to-string.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +module.exports = function (it, TAG, STATIC, SET_METHOD) { + if (it) { + var target = STATIC ? it : it.prototype; + if (!has(target, TO_STRING_TAG)) { + defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG }); + } + if (SET_METHOD && !TO_STRING_TAG_SUPPORT) { + createNonEnumerableProperty(target, 'toString', toString); + } + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/shared-key.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/shared-key.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js-pure/internals/shared.js"); +var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js-pure/internals/uid.js"); + +var keys = shared('keys'); + +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/shared-store.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/shared-store.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js-pure/internals/set-global.js"); + +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || setGlobal(SHARED, {}); + +module.exports = store; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/shared.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js-pure/internals/shared.js ***! + \*******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js-pure/internals/is-pure.js"); +var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js-pure/internals/shared-store.js"); + +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.15.2', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2021 Denis Pushkarev (zloirock.ru)' +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/species-constructor.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/species-constructor.js ***! + \********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); +var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js-pure/internals/a-function.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); + +var SPECIES = wellKnownSymbol('species'); + +// `SpeciesConstructor` abstract operation +// https://tc39.es/ecma262/#sec-speciesconstructor +module.exports = function (O, defaultConstructor) { + var C = anObject(O).constructor; + var S; + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/string-multibyte.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/string-multibyte.js ***! + \*****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js-pure/internals/to-integer.js"); +var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js-pure/internals/require-object-coercible.js"); + +// `String.prototype.{ codePointAt, at }` methods implementation +var createMethod = function (CONVERT_TO_STRING) { + return function ($this, pos) { + var S = String(requireObjectCoercible($this)); + var position = toInteger(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; + first = S.charCodeAt(position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size + || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF + ? CONVERT_TO_STRING ? S.charAt(position) : first + : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + }; +}; + +module.exports = { + // `String.prototype.codePointAt` method + // https://tc39.es/ecma262/#sec-string.prototype.codepointat + codeAt: createMethod(false), + // `String.prototype.at` method + // https://github.com/mathiasbynens/String.prototype.at + charAt: createMethod(true) +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/string-trim-forced.js": +/*!*******************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/string-trim-forced.js ***! + \*******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); +var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js-pure/internals/whitespaces.js"); + +var non = '\u200B\u0085\u180E'; + +// check that a method works with the correct list +// of whitespaces and has a correct name +module.exports = function (METHOD_NAME) { + return fails(function () { + return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME; + }); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/string-trim.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/string-trim.js ***! + \************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js-pure/internals/require-object-coercible.js"); +var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js-pure/internals/whitespaces.js"); + +var whitespace = '[' + whitespaces + ']'; +var ltrim = RegExp('^' + whitespace + whitespace + '*'); +var rtrim = RegExp(whitespace + whitespace + '*$'); + +// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation +var createMethod = function (TYPE) { + return function ($this) { + var string = String(requireObjectCoercible($this)); + if (TYPE & 1) string = string.replace(ltrim, ''); + if (TYPE & 2) string = string.replace(rtrim, ''); + return string; + }; +}; + +module.exports = { + // `String.prototype.{ trimLeft, trimStart }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimstart + start: createMethod(1), + // `String.prototype.{ trimRight, trimEnd }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimend + end: createMethod(2), + // `String.prototype.trim` method + // https://tc39.es/ecma262/#sec-string.prototype.trim + trim: createMethod(3) +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/task.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js-pure/internals/task.js ***! + \*****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); +var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js-pure/internals/function-bind-context.js"); +var html = __webpack_require__(/*! ../internals/html */ "./node_modules/core-js-pure/internals/html.js"); +var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js-pure/internals/document-create-element.js"); +var IS_IOS = __webpack_require__(/*! ../internals/engine-is-ios */ "./node_modules/core-js-pure/internals/engine-is-ios.js"); +var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js-pure/internals/engine-is-node.js"); + +var location = global.location; +var set = global.setImmediate; +var clear = global.clearImmediate; +var process = global.process; +var MessageChannel = global.MessageChannel; +var Dispatch = global.Dispatch; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var defer, channel, port; + +var run = function (id) { + // eslint-disable-next-line no-prototype-builtins -- safe + if (queue.hasOwnProperty(id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; + +var runner = function (id) { + return function () { + run(id); + }; +}; + +var listener = function (event) { + run(event.data); +}; + +var post = function (id) { + // old engines have not location.origin + global.postMessage(id + '', location.protocol + '//' + location.host); +}; + +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!set || !clear) { + set = function setImmediate(fn) { + var args = []; + var i = 1; + while (arguments.length > i) args.push(arguments[i++]); + queue[++counter] = function () { + // eslint-disable-next-line no-new-func -- spec requirement + (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args); + }; + defer(counter); + return counter; + }; + clear = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (IS_NODE) { + defer = function (id) { + process.nextTick(runner(id)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(runner(id)); + }; + // Browsers with MessageChannel, includes WebWorkers + // except iOS - https://github.com/zloirock/core-js/issues/624 + } else if (MessageChannel && !IS_IOS) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = listener; + defer = bind(port.postMessage, port, 1); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if ( + global.addEventListener && + typeof postMessage == 'function' && + !global.importScripts && + location && location.protocol !== 'file:' && + !fails(post) + ) { + defer = post; + global.addEventListener('message', listener, false); + // IE8- + } else if (ONREADYSTATECHANGE in createElement('script')) { + defer = function (id) { + html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(runner(id), 0); + }; + } +} + +module.exports = { + set: set, + clear: clear +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/to-absolute-index.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/to-absolute-index.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js-pure/internals/to-integer.js"); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +module.exports = function (index, length) { + var integer = toInteger(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/to-indexed-object.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/to-indexed-object.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js-pure/internals/indexed-object.js"); +var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js-pure/internals/require-object-coercible.js"); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/to-integer.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/to-integer.js ***! + \***********************************************************/ +/***/ (function(module) { + +var ceil = Math.ceil; +var floor = Math.floor; + +// `ToInteger` abstract operation +// https://tc39.es/ecma262/#sec-tointeger +module.exports = function (argument) { + return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/to-length.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/to-length.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js-pure/internals/to-integer.js"); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +module.exports = function (argument) { + return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/to-object.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js-pure/internals/to-object.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js-pure/internals/require-object-coercible.js"); + +// `ToObject` abstract operation +// https://tc39.es/ecma262/#sec-toobject +module.exports = function (argument) { + return Object(requireObjectCoercible(argument)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/to-primitive.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/to-primitive.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); + +// `ToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-toprimitive +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +module.exports = function (input, PREFERRED_STRING) { + if (!isObject(input)) return input; + var fn, val; + if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; + if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; + if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/to-string-tag-support.js": +/*!**********************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/to-string-tag-support.js ***! + \**********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +module.exports = String(test) === '[object z]'; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/uid.js": +/*!****************************************************!*\ + !*** ./node_modules/core-js-pure/internals/uid.js ***! + \****************************************************/ +/***/ (function(module) { + +var id = 0; +var postfix = Math.random(); + +module.exports = function (key) { + return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/use-symbol-as-uid.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/use-symbol-as-uid.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +/* eslint-disable es/no-symbol -- required for testing */ +var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js-pure/internals/native-symbol.js"); + +module.exports = NATIVE_SYMBOL + && !Symbol.sham + && typeof Symbol.iterator == 'symbol'; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/well-known-symbol-wrapped.js": +/*!**************************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/well-known-symbol-wrapped.js ***! + \**************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); + +exports.f = wellKnownSymbol; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/well-known-symbol.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/well-known-symbol.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js-pure/internals/shared.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js-pure/internals/has.js"); +var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js-pure/internals/uid.js"); +var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js-pure/internals/native-symbol.js"); +var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "./node_modules/core-js-pure/internals/use-symbol-as-uid.js"); + +var WellKnownSymbolsStore = shared('wks'); +var Symbol = global.Symbol; +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; + +module.exports = function (name) { + if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { + if (NATIVE_SYMBOL && has(Symbol, name)) { + WellKnownSymbolsStore[name] = Symbol[name]; + } else { + WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); + } + } return WellKnownSymbolsStore[name]; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/internals/whitespaces.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/internals/whitespaces.js ***! + \************************************************************/ +/***/ (function(module) { + +// a string of all valid unicode whitespaces +module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' + + '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.aggregate-error.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.aggregate-error.js ***! + \*****************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js-pure/internals/object-get-prototype-of.js"); +var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js-pure/internals/object-set-prototype-of.js"); +var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js-pure/internals/object-create.js"); +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js-pure/internals/create-non-enumerable-property.js"); +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js-pure/internals/create-property-descriptor.js"); +var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js-pure/internals/iterate.js"); + +var $AggregateError = function AggregateError(errors, message) { + var that = this; + if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message); + if (setPrototypeOf) { + // eslint-disable-next-line unicorn/error-message -- expected + that = setPrototypeOf(new Error(undefined), getPrototypeOf(that)); + } + if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message)); + var errorsArray = []; + iterate(errors, errorsArray.push, { that: errorsArray }); + createNonEnumerableProperty(that, 'errors', errorsArray); + return that; +}; + +$AggregateError.prototype = create(Error.prototype, { + constructor: createPropertyDescriptor(5, $AggregateError), + message: createPropertyDescriptor(5, ''), + name: createPropertyDescriptor(5, 'AggregateError') +}); + +// `AggregateError` constructor +// https://tc39.es/ecma262/#sec-aggregate-error-constructor +$({ global: true }, { + AggregateError: $AggregateError +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.array.concat.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.array.concat.js ***! + \**************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); +var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js-pure/internals/is-array.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js-pure/internals/to-object.js"); +var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js-pure/internals/to-length.js"); +var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js-pure/internals/create-property.js"); +var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js-pure/internals/array-species-create.js"); +var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js-pure/internals/array-method-has-species-support.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); +var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js-pure/internals/engine-v8-version.js"); + +var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; +var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; + +// We can't use this feature detection in V8 since it causes +// deoptimization and serious performance degradation +// https://github.com/zloirock/core-js/issues/679 +var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { + var array = []; + array[IS_CONCAT_SPREADABLE] = false; + return array.concat()[0] !== array; +}); + +var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat'); + +var isConcatSpreadable = function (O) { + if (!isObject(O)) return false; + var spreadable = O[IS_CONCAT_SPREADABLE]; + return spreadable !== undefined ? !!spreadable : isArray(O); +}; + +var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; + +// `Array.prototype.concat` method +// https://tc39.es/ecma262/#sec-array.prototype.concat +// with adding support of @@isConcatSpreadable and @@species +$({ target: 'Array', proto: true, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + concat: function concat(arg) { + var O = toObject(this); + var A = arraySpeciesCreate(O, 0); + var n = 0; + var i, k, length, len, E; + for (i = -1, length = arguments.length; i < length; i++) { + E = i === -1 ? O : arguments[i]; + if (isConcatSpreadable(E)) { + len = toLength(E.length); + if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); + for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); + } else { + if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); + createProperty(A, n++, E); + } + } + A.length = n; + return A; + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.array.every.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.array.every.js ***! + \*************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var $every = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js-pure/internals/array-iteration.js").every; +var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js-pure/internals/array-method-is-strict.js"); + +var STRICT_METHOD = arrayMethodIsStrict('every'); + +// `Array.prototype.every` method +// https://tc39.es/ecma262/#sec-array.prototype.every +$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.array.fill.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.array.fill.js ***! + \************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var fill = __webpack_require__(/*! ../internals/array-fill */ "./node_modules/core-js-pure/internals/array-fill.js"); +var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js-pure/internals/add-to-unscopables.js"); + +// `Array.prototype.fill` method +// https://tc39.es/ecma262/#sec-array.prototype.fill +$({ target: 'Array', proto: true }, { + fill: fill +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('fill'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.array.filter.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.array.filter.js ***! + \**************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var $filter = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js-pure/internals/array-iteration.js").filter; +var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js-pure/internals/array-method-has-species-support.js"); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); + +// `Array.prototype.filter` method +// https://tc39.es/ecma262/#sec-array.prototype.filter +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.array.for-each.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.array.for-each.js ***! + \****************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var forEach = __webpack_require__(/*! ../internals/array-for-each */ "./node_modules/core-js-pure/internals/array-for-each.js"); + +// `Array.prototype.forEach` method +// https://tc39.es/ecma262/#sec-array.prototype.foreach +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +$({ target: 'Array', proto: true, forced: [].forEach != forEach }, { + forEach: forEach +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.array.from.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.array.from.js ***! + \************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var from = __webpack_require__(/*! ../internals/array-from */ "./node_modules/core-js-pure/internals/array-from.js"); +var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js-pure/internals/check-correctness-of-iteration.js"); + +var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { + // eslint-disable-next-line es/no-array-from -- required for testing + Array.from(iterable); +}); + +// `Array.from` method +// https://tc39.es/ecma262/#sec-array.from +$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { + from: from +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.array.includes.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.array.includes.js ***! + \****************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var $includes = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js-pure/internals/array-includes.js").includes; +var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js-pure/internals/add-to-unscopables.js"); + +// `Array.prototype.includes` method +// https://tc39.es/ecma262/#sec-array.prototype.includes +$({ target: 'Array', proto: true }, { + includes: function includes(el /* , fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('includes'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.array.index-of.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.array.index-of.js ***! + \****************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable es/no-array-prototype-indexof -- required for testing */ +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var $indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js-pure/internals/array-includes.js").indexOf; +var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js-pure/internals/array-method-is-strict.js"); + +var nativeIndexOf = [].indexOf; + +var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0; +var STRICT_METHOD = arrayMethodIsStrict('indexOf'); + +// `Array.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.indexof +$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, { + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + return NEGATIVE_ZERO + // convert -0 to +0 + ? nativeIndexOf.apply(this, arguments) || 0 + : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.array.is-array.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.array.is-array.js ***! + \****************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js-pure/internals/is-array.js"); + +// `Array.isArray` method +// https://tc39.es/ecma262/#sec-array.isarray +$({ target: 'Array', stat: true }, { + isArray: isArray +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.array.iterator.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.array.iterator.js ***! + \****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js-pure/internals/to-indexed-object.js"); +var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js-pure/internals/add-to-unscopables.js"); +var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js-pure/internals/iterators.js"); +var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js-pure/internals/internal-state.js"); +var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js-pure/internals/define-iterator.js"); + +var ARRAY_ITERATOR = 'Array Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); + +// `Array.prototype.entries` method +// https://tc39.es/ecma262/#sec-array.prototype.entries +// `Array.prototype.keys` method +// https://tc39.es/ecma262/#sec-array.prototype.keys +// `Array.prototype.values` method +// https://tc39.es/ecma262/#sec-array.prototype.values +// `Array.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-array.prototype-@@iterator +// `CreateArrayIterator` internal method +// https://tc39.es/ecma262/#sec-createarrayiterator +module.exports = defineIterator(Array, 'Array', function (iterated, kind) { + setInternalState(this, { + type: ARRAY_ITERATOR, + target: toIndexedObject(iterated), // target + index: 0, // next index + kind: kind // kind + }); +// `%ArrayIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next +}, function () { + var state = getInternalState(this); + var target = state.target; + var kind = state.kind; + var index = state.index++; + if (!target || index >= target.length) { + state.target = undefined; + return { value: undefined, done: true }; + } + if (kind == 'keys') return { value: index, done: false }; + if (kind == 'values') return { value: target[index], done: false }; + return { value: [index, target[index]], done: false }; +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% +// https://tc39.es/ecma262/#sec-createunmappedargumentsobject +// https://tc39.es/ecma262/#sec-createmappedargumentsobject +Iterators.Arguments = Iterators.Array; + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.array.map.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.array.map.js ***! + \***********************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var $map = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js-pure/internals/array-iteration.js").map; +var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js-pure/internals/array-method-has-species-support.js"); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); + +// `Array.prototype.map` method +// https://tc39.es/ecma262/#sec-array.prototype.map +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.array.reduce.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.array.reduce.js ***! + \**************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var $reduce = __webpack_require__(/*! ../internals/array-reduce */ "./node_modules/core-js-pure/internals/array-reduce.js").left; +var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js-pure/internals/array-method-is-strict.js"); +var CHROME_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js-pure/internals/engine-v8-version.js"); +var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js-pure/internals/engine-is-node.js"); + +var STRICT_METHOD = arrayMethodIsStrict('reduce'); +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; + +// `Array.prototype.reduce` method +// https://tc39.es/ecma262/#sec-array.prototype.reduce +$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, { + reduce: function reduce(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.array.reverse.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.array.reverse.js ***! + \***************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js-pure/internals/is-array.js"); + +var nativeReverse = [].reverse; +var test = [1, 2]; + +// `Array.prototype.reverse` method +// https://tc39.es/ecma262/#sec-array.prototype.reverse +// fix for Safari 12.0 bug +// https://bugs.webkit.org/show_bug.cgi?id=188794 +$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, { + reverse: function reverse() { + // eslint-disable-next-line no-self-assign -- dirty hack + if (isArray(this)) this.length = this.length; + return nativeReverse.call(this); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.array.slice.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.array.slice.js ***! + \*************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); +var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js-pure/internals/is-array.js"); +var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js-pure/internals/to-absolute-index.js"); +var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js-pure/internals/to-length.js"); +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js-pure/internals/to-indexed-object.js"); +var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js-pure/internals/create-property.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); +var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js-pure/internals/array-method-has-species-support.js"); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); + +var SPECIES = wellKnownSymbol('species'); +var nativeSlice = [].slice; +var max = Math.max; + +// `Array.prototype.slice` method +// https://tc39.es/ecma262/#sec-array.prototype.slice +// fallback for not array-like ES3 strings and DOM objects +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + slice: function slice(start, end) { + var O = toIndexedObject(this); + var length = toLength(O.length); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible + var Constructor, result, n; + if (isArray(O)) { + Constructor = O.constructor; + // cross-realm fallback + if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) { + Constructor = undefined; + } else if (isObject(Constructor)) { + Constructor = Constructor[SPECIES]; + if (Constructor === null) Constructor = undefined; + } + if (Constructor === Array || Constructor === undefined) { + return nativeSlice.call(O, k, fin); + } + } + result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0)); + for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); + result.length = n; + return result; + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.array.some.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.array.some.js ***! + \************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var $some = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js-pure/internals/array-iteration.js").some; +var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js-pure/internals/array-method-is-strict.js"); + +var STRICT_METHOD = arrayMethodIsStrict('some'); + +// `Array.prototype.some` method +// https://tc39.es/ecma262/#sec-array.prototype.some +$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.date.now.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.date.now.js ***! + \**********************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); + +// `Date.now` method +// https://tc39.es/ecma262/#sec-date.now +$({ target: 'Date', stat: true }, { + now: function now() { + return new Date().getTime(); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.function.bind.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.function.bind.js ***! + \***************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var bind = __webpack_require__(/*! ../internals/function-bind */ "./node_modules/core-js-pure/internals/function-bind.js"); + +// `Function.prototype.bind` method +// https://tc39.es/ecma262/#sec-function.prototype.bind +$({ target: 'Function', proto: true }, { + bind: bind +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.json.to-string-tag.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.json.to-string-tag.js ***! + \********************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js-pure/internals/set-to-string-tag.js"); + +// JSON[@@toStringTag] property +// https://tc39.es/ecma262/#sec-json-@@tostringtag +setToStringTag(global.JSON, 'JSON', true); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.map.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.map.js ***! + \*****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/core-js-pure/internals/collection.js"); +var collectionStrong = __webpack_require__(/*! ../internals/collection-strong */ "./node_modules/core-js-pure/internals/collection-strong.js"); + +// `Map` constructor +// https://tc39.es/ecma262/#sec-map-objects +module.exports = collection('Map', function (init) { + return function Map() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.math.to-string-tag.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.math.to-string-tag.js ***! + \********************************************************************/ +/***/ (function() { + +// empty + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.object.create.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.object.create.js ***! + \***************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js-pure/internals/descriptors.js"); +var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js-pure/internals/object-create.js"); + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + create: create +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.object.define-properties.js": +/*!**************************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.object.define-properties.js ***! + \**************************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js-pure/internals/descriptors.js"); +var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js-pure/internals/object-define-properties.js"); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, { + defineProperties: defineProperties +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.object.define-property.js": +/*!************************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.object.define-property.js ***! + \************************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js-pure/internals/descriptors.js"); +var objectDefinePropertyModile = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js-pure/internals/object-define-property.js"); + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, { + defineProperty: objectDefinePropertyModile.f +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.object.get-own-property-descriptor.js": +/*!************************************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.object.get-own-property-descriptor.js ***! + \************************************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js-pure/internals/to-indexed-object.js"); +var nativeGetOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js").f; +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js-pure/internals/descriptors.js"); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); }); +var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { + return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.object.get-own-property-descriptors.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.object.get-own-property-descriptors.js ***! + \*************************************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js-pure/internals/descriptors.js"); +var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js-pure/internals/own-keys.js"); +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js-pure/internals/to-indexed-object.js"); +var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js"); +var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js-pure/internals/create-property.js"); + +// `Object.getOwnPropertyDescriptors` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIndexedObject(object); + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + var keys = ownKeys(O); + var result = {}; + var index = 0; + var key, descriptor; + while (keys.length > index) { + descriptor = getOwnPropertyDescriptor(O, key = keys[index++]); + if (descriptor !== undefined) createProperty(result, key, descriptor); + } + return result; + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.object.get-prototype-of.js": +/*!*************************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.object.get-prototype-of.js ***! + \*************************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js-pure/internals/to-object.js"); +var nativeGetPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js-pure/internals/object-get-prototype-of.js"); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js-pure/internals/correct-prototype-getter.js"); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); }); + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(it) { + return nativeGetPrototypeOf(toObject(it)); + } +}); + + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.object.keys.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.object.keys.js ***! + \*************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js-pure/internals/to-object.js"); +var nativeKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js-pure/internals/object-keys.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); }); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + keys: function keys(it) { + return nativeKeys(toObject(it)); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.object.set-prototype-of.js": +/*!*************************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.object.set-prototype-of.js ***! + \*************************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js-pure/internals/object-set-prototype-of.js"); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +$({ target: 'Object', stat: true }, { + setPrototypeOf: setPrototypeOf +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.object.to-string.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.object.to-string.js ***! + \******************************************************************/ +/***/ (function() { + +// empty + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.parse-float.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.parse-float.js ***! + \*************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var parseFloatImplementation = __webpack_require__(/*! ../internals/number-parse-float */ "./node_modules/core-js-pure/internals/number-parse-float.js"); + +// `parseFloat` method +// https://tc39.es/ecma262/#sec-parsefloat-string +$({ global: true, forced: parseFloat != parseFloatImplementation }, { + parseFloat: parseFloatImplementation +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.parse-int.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.parse-int.js ***! + \***********************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var parseIntImplementation = __webpack_require__(/*! ../internals/number-parse-int */ "./node_modules/core-js-pure/internals/number-parse-int.js"); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +$({ global: true, forced: parseInt != parseIntImplementation }, { + parseInt: parseIntImplementation +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.promise.all-settled.js": +/*!*********************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.promise.all-settled.js ***! + \*********************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js-pure/internals/a-function.js"); +var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js-pure/internals/new-promise-capability.js"); +var perform = __webpack_require__(/*! ../internals/perform */ "./node_modules/core-js-pure/internals/perform.js"); +var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js-pure/internals/iterate.js"); + +// `Promise.allSettled` method +// https://tc39.es/ecma262/#sec-promise.allsettled +$({ target: 'Promise', stat: true }, { + allSettled: function allSettled(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aFunction(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + values.push(undefined); + remaining++; + promiseResolve.call(C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'fulfilled', value: value }; + --remaining || resolve(values); + }, function (error) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'rejected', reason: error }; + --remaining || resolve(values); + }); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.promise.any.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.promise.any.js ***! + \*************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js-pure/internals/a-function.js"); +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js-pure/internals/get-built-in.js"); +var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js-pure/internals/new-promise-capability.js"); +var perform = __webpack_require__(/*! ../internals/perform */ "./node_modules/core-js-pure/internals/perform.js"); +var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js-pure/internals/iterate.js"); + +var PROMISE_ANY_ERROR = 'No one promise resolved'; + +// `Promise.any` method +// https://tc39.es/ecma262/#sec-promise.any +$({ target: 'Promise', stat: true }, { + any: function any(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aFunction(C.resolve); + var errors = []; + var counter = 0; + var remaining = 1; + var alreadyResolved = false; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyRejected = false; + errors.push(undefined); + remaining++; + promiseResolve.call(C, promise).then(function (value) { + if (alreadyRejected || alreadyResolved) return; + alreadyResolved = true; + resolve(value); + }, function (error) { + if (alreadyRejected || alreadyResolved) return; + alreadyRejected = true; + errors[index] = error; + --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); + }); + }); + --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.promise.finally.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.promise.finally.js ***! + \*****************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js-pure/internals/is-pure.js"); +var NativePromise = __webpack_require__(/*! ../internals/native-promise-constructor */ "./node_modules/core-js-pure/internals/native-promise-constructor.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js-pure/internals/get-built-in.js"); +var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js-pure/internals/species-constructor.js"); +var promiseResolve = __webpack_require__(/*! ../internals/promise-resolve */ "./node_modules/core-js-pure/internals/promise-resolve.js"); +var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js-pure/internals/redefine.js"); + +// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829 +var NON_GENERIC = !!NativePromise && fails(function () { + NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ }); +}); + +// `Promise.prototype.finally` method +// https://tc39.es/ecma262/#sec-promise.prototype.finally +$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, { + 'finally': function (onFinally) { + var C = speciesConstructor(this, getBuiltIn('Promise')); + var isFunction = typeof onFinally == 'function'; + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); + } +}); + +// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then` +if (!IS_PURE && typeof NativePromise == 'function') { + var method = getBuiltIn('Promise').prototype['finally']; + if (NativePromise.prototype['finally'] !== method) { + redefine(NativePromise.prototype, 'finally', method, { unsafe: true }); + } +} + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.promise.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.promise.js ***! + \*********************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js-pure/internals/is-pure.js"); +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js-pure/internals/get-built-in.js"); +var NativePromise = __webpack_require__(/*! ../internals/native-promise-constructor */ "./node_modules/core-js-pure/internals/native-promise-constructor.js"); +var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js-pure/internals/redefine.js"); +var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js-pure/internals/redefine-all.js"); +var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js-pure/internals/object-set-prototype-of.js"); +var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js-pure/internals/set-to-string-tag.js"); +var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js-pure/internals/set-species.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); +var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js-pure/internals/a-function.js"); +var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js-pure/internals/an-instance.js"); +var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js-pure/internals/inspect-source.js"); +var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js-pure/internals/iterate.js"); +var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js-pure/internals/check-correctness-of-iteration.js"); +var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js-pure/internals/species-constructor.js"); +var task = __webpack_require__(/*! ../internals/task */ "./node_modules/core-js-pure/internals/task.js").set; +var microtask = __webpack_require__(/*! ../internals/microtask */ "./node_modules/core-js-pure/internals/microtask.js"); +var promiseResolve = __webpack_require__(/*! ../internals/promise-resolve */ "./node_modules/core-js-pure/internals/promise-resolve.js"); +var hostReportErrors = __webpack_require__(/*! ../internals/host-report-errors */ "./node_modules/core-js-pure/internals/host-report-errors.js"); +var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js-pure/internals/new-promise-capability.js"); +var perform = __webpack_require__(/*! ../internals/perform */ "./node_modules/core-js-pure/internals/perform.js"); +var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js-pure/internals/internal-state.js"); +var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js-pure/internals/is-forced.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); +var IS_BROWSER = __webpack_require__(/*! ../internals/engine-is-browser */ "./node_modules/core-js-pure/internals/engine-is-browser.js"); +var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js-pure/internals/engine-is-node.js"); +var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js-pure/internals/engine-v8-version.js"); + +var SPECIES = wellKnownSymbol('species'); +var PROMISE = 'Promise'; +var getInternalState = InternalStateModule.get; +var setInternalState = InternalStateModule.set; +var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); +var NativePromisePrototype = NativePromise && NativePromise.prototype; +var PromiseConstructor = NativePromise; +var PromiseConstructorPrototype = NativePromisePrototype; +var TypeError = global.TypeError; +var document = global.document; +var process = global.process; +var newPromiseCapability = newPromiseCapabilityModule.f; +var newGenericPromiseCapability = newPromiseCapability; +var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); +var NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function'; +var UNHANDLED_REJECTION = 'unhandledrejection'; +var REJECTION_HANDLED = 'rejectionhandled'; +var PENDING = 0; +var FULFILLED = 1; +var REJECTED = 2; +var HANDLED = 1; +var UNHANDLED = 2; +var SUBCLASSING = false; +var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; + +var FORCED = isForced(PROMISE, function () { + var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor); + var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor); + // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // We can't detect it synchronously, so just check versions + if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true; + // We need Promise#finally in the pure version for preventing prototype pollution + if (IS_PURE && !PromiseConstructorPrototype['finally']) return true; + // We can't use @@species feature detection in V8 since it causes + // deoptimization and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false; + // Detect correctness of subclassing with @@species support + var promise = new PromiseConstructor(function (resolve) { resolve(1); }); + var FakePromise = function (exec) { + exec(function () { /* empty */ }, function () { /* empty */ }); + }; + var constructor = promise.constructor = {}; + constructor[SPECIES] = FakePromise; + SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; + if (!SUBCLASSING) return true; + // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test + return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT; +}); + +var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) { + PromiseConstructor.all(iterable)['catch'](function () { /* empty */ }); +}); + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && typeof (then = it.then) == 'function' ? then : false; +}; + +var notify = function (state, isReject) { + if (state.notified) return; + state.notified = true; + var chain = state.reactions; + microtask(function () { + var value = state.value; + var ok = state.state == FULFILLED; + var index = 0; + // variable length - can't use forEach + while (chain.length > index) { + var reaction = chain[index++]; + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (state.rejection === UNHANDLED) onHandleUnhandled(state); + state.rejection = HANDLED; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // can throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + then.call(result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (error) { + if (domain && !exited) domain.exit(); + reject(error); + } + } + state.reactions = []; + state.notified = false; + if (isReject && !state.rejection) onUnhandled(state); + }); +}; + +var dispatchEvent = function (name, promise, reason) { + var event, handler; + if (DISPATCH_EVENT) { + event = document.createEvent('Event'); + event.promise = promise; + event.reason = reason; + event.initEvent(name, false, true); + global.dispatchEvent(event); + } else event = { promise: promise, reason: reason }; + if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event); + else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); +}; + +var onUnhandled = function (state) { + task.call(global, function () { + var promise = state.facade; + var value = state.value; + var IS_UNHANDLED = isUnhandled(state); + var result; + if (IS_UNHANDLED) { + result = perform(function () { + if (IS_NODE) { + process.emit('unhandledRejection', value, promise); + } else dispatchEvent(UNHANDLED_REJECTION, promise, value); + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; + if (result.error) throw result.value; + } + }); +}; + +var isUnhandled = function (state) { + return state.rejection !== HANDLED && !state.parent; +}; + +var onHandleUnhandled = function (state) { + task.call(global, function () { + var promise = state.facade; + if (IS_NODE) { + process.emit('rejectionHandled', promise); + } else dispatchEvent(REJECTION_HANDLED, promise, state.value); + }); +}; + +var bind = function (fn, state, unwrap) { + return function (value) { + fn(state, value, unwrap); + }; +}; + +var internalReject = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + state.value = value; + state.state = REJECTED; + notify(state, true); +}; + +var internalResolve = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + try { + if (state.facade === value) throw TypeError("Promise can't be resolved itself"); + var then = isThenable(value); + if (then) { + microtask(function () { + var wrapper = { done: false }; + try { + then.call(value, + bind(internalResolve, wrapper, state), + bind(internalReject, wrapper, state) + ); + } catch (error) { + internalReject(wrapper, error, state); + } + }); + } else { + state.value = value; + state.state = FULFILLED; + notify(state, false); + } + } catch (error) { + internalReject({ done: false }, error, state); + } +}; + +// constructor polyfill +if (FORCED) { + // 25.4.3.1 Promise(executor) + PromiseConstructor = function Promise(executor) { + anInstance(this, PromiseConstructor, PROMISE); + aFunction(executor); + Internal.call(this); + var state = getInternalState(this); + try { + executor(bind(internalResolve, state), bind(internalReject, state)); + } catch (error) { + internalReject(state, error); + } + }; + PromiseConstructorPrototype = PromiseConstructor.prototype; + // eslint-disable-next-line no-unused-vars -- required for `.length` + Internal = function Promise(executor) { + setInternalState(this, { + type: PROMISE, + done: false, + notified: false, + parent: false, + reactions: [], + rejection: false, + state: PENDING, + value: undefined + }); + }; + Internal.prototype = redefineAll(PromiseConstructorPrototype, { + // `Promise.prototype.then` method + // https://tc39.es/ecma262/#sec-promise.prototype.then + then: function then(onFulfilled, onRejected) { + var state = getInternalPromiseState(this); + var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); + reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; + reaction.fail = typeof onRejected == 'function' && onRejected; + reaction.domain = IS_NODE ? process.domain : undefined; + state.parent = true; + state.reactions.push(reaction); + if (state.state != PENDING) notify(state, false); + return reaction.promise; + }, + // `Promise.prototype.catch` method + // https://tc39.es/ecma262/#sec-promise.prototype.catch + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } + }); + OwnPromiseCapability = function () { + var promise = new Internal(); + var state = getInternalState(promise); + this.promise = promise; + this.resolve = bind(internalResolve, state); + this.reject = bind(internalReject, state); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === PromiseConstructor || C === PromiseWrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; + + if (!IS_PURE && typeof NativePromise == 'function' && NativePromisePrototype !== Object.prototype) { + nativeThen = NativePromisePrototype.then; + + if (!SUBCLASSING) { + // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs + redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { + var that = this; + return new PromiseConstructor(function (resolve, reject) { + nativeThen.call(that, resolve, reject); + }).then(onFulfilled, onRejected); + // https://github.com/zloirock/core-js/issues/640 + }, { unsafe: true }); + + // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` + redefine(NativePromisePrototype, 'catch', PromiseConstructorPrototype['catch'], { unsafe: true }); + } + + // make `.constructor === Promise` work for native promise-based APIs + try { + delete NativePromisePrototype.constructor; + } catch (error) { /* empty */ } + + // make `instanceof Promise` work for native promise-based APIs + if (setPrototypeOf) { + setPrototypeOf(NativePromisePrototype, PromiseConstructorPrototype); + } + } +} + +$({ global: true, wrap: true, forced: FORCED }, { + Promise: PromiseConstructor +}); + +setToStringTag(PromiseConstructor, PROMISE, false, true); +setSpecies(PROMISE); + +PromiseWrapper = getBuiltIn(PROMISE); + +// statics +$({ target: PROMISE, stat: true, forced: FORCED }, { + // `Promise.reject` method + // https://tc39.es/ecma262/#sec-promise.reject + reject: function reject(r) { + var capability = newPromiseCapability(this); + capability.reject.call(undefined, r); + return capability.promise; + } +}); + +$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, { + // `Promise.resolve` method + // https://tc39.es/ecma262/#sec-promise.resolve + resolve: function resolve(x) { + return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x); + } +}); + +$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, { + // `Promise.all` method + // https://tc39.es/ecma262/#sec-promise.all + all: function all(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aFunction(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + values.push(undefined); + remaining++; + $promiseResolve.call(C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + }, + // `Promise.race` method + // https://tc39.es/ecma262/#sec-promise.race + race: function race(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aFunction(C.resolve); + iterate(iterable, function (promise) { + $promiseResolve.call(C, promise).then(capability.resolve, reject); + }); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.reflect.apply.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.reflect.apply.js ***! + \***************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js-pure/internals/get-built-in.js"); +var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js-pure/internals/a-function.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); + +var nativeApply = getBuiltIn('Reflect', 'apply'); +var functionApply = Function.apply; + +// MS Edge argumentsList argument is optional +var OPTIONAL_ARGUMENTS_LIST = !fails(function () { + nativeApply(function () { /* empty */ }); +}); + +// `Reflect.apply` method +// https://tc39.es/ecma262/#sec-reflect.apply +$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, { + apply: function apply(target, thisArgument, argumentsList) { + aFunction(target); + anObject(argumentsList); + return nativeApply + ? nativeApply(target, thisArgument, argumentsList) + : functionApply.call(target, thisArgument, argumentsList); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.reflect.construct.js": +/*!*******************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.reflect.construct.js ***! + \*******************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js-pure/internals/get-built-in.js"); +var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js-pure/internals/a-function.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); +var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js-pure/internals/object-create.js"); +var bind = __webpack_require__(/*! ../internals/function-bind */ "./node_modules/core-js-pure/internals/function-bind.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); + +var nativeConstruct = getBuiltIn('Reflect', 'construct'); + +// `Reflect.construct` method +// https://tc39.es/ecma262/#sec-reflect.construct +// MS Edge supports only 2 arguments and argumentsList argument is optional +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F); +}); +var ARGS_BUG = !fails(function () { + nativeConstruct(function () { /* empty */ }); +}); +var FORCED = NEW_TARGET_BUG || ARGS_BUG; + +$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, { + construct: function construct(Target, args /* , newTarget */) { + aFunction(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget); + if (Target == newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: return new Target(); + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + $args.push.apply($args, args); + return new (bind.apply(Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : Object.prototype); + var result = Function.apply.call(Target, instance, args); + return isObject(result) ? result : instance; + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.reflect.delete-property.js": +/*!*************************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.reflect.delete-property.js ***! + \*************************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); +var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js").f; + +// `Reflect.deleteProperty` method +// https://tc39.es/ecma262/#sec-reflect.deleteproperty +$({ target: 'Reflect', stat: true }, { + deleteProperty: function deleteProperty(target, propertyKey) { + var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey); + return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.reflect.get-prototype-of.js": +/*!**************************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.reflect.get-prototype-of.js ***! + \**************************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); +var objectGetPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js-pure/internals/object-get-prototype-of.js"); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js-pure/internals/correct-prototype-getter.js"); + +// `Reflect.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-reflect.getprototypeof +$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(target) { + return objectGetPrototypeOf(anObject(target)); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.reflect.get.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.reflect.get.js ***! + \*************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js-pure/internals/has.js"); +var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js"); +var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js-pure/internals/object-get-prototype-of.js"); + +// `Reflect.get` method +// https://tc39.es/ecma262/#sec-reflect.get +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var descriptor, prototype; + if (anObject(target) === receiver) return target[propertyKey]; + if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value') + ? descriptor.value + : descriptor.get === undefined + ? undefined + : descriptor.get.call(receiver); + if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver); +} + +$({ target: 'Reflect', stat: true }, { + get: get +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.reflect.to-string-tag.js": +/*!***********************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.reflect.to-string-tag.js ***! + \***********************************************************************/ +/***/ (function() { + +// empty + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.string.includes.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.string.includes.js ***! + \*****************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ "./node_modules/core-js-pure/internals/not-a-regexp.js"); +var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js-pure/internals/require-object-coercible.js"); +var correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ "./node_modules/core-js-pure/internals/correct-is-regexp-logic.js"); + +// `String.prototype.includes` method +// https://tc39.es/ecma262/#sec-string.prototype.includes +$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { + includes: function includes(searchString /* , position = 0 */) { + return !!~String(requireObjectCoercible(this)) + .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.string.iterator.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.string.iterator.js ***! + \*****************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var charAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js-pure/internals/string-multibyte.js").charAt; +var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js-pure/internals/internal-state.js"); +var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js-pure/internals/define-iterator.js"); + +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// `String.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-string.prototype-@@iterator +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: String(iterated), + index: 0 + }); +// `%StringIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return { value: undefined, done: true }; + point = charAt(string, index); + state.index += point.length; + return { value: point, done: false }; +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.string.starts-with.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.string.starts-with.js ***! + \********************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js").f; +var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js-pure/internals/to-length.js"); +var notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ "./node_modules/core-js-pure/internals/not-a-regexp.js"); +var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js-pure/internals/require-object-coercible.js"); +var correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ "./node_modules/core-js-pure/internals/correct-is-regexp-logic.js"); +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js-pure/internals/is-pure.js"); + +// eslint-disable-next-line es/no-string-prototype-startswith -- safe +var $startsWith = ''.startsWith; +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.startsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.startswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = String(requireObjectCoercible(this)); + notARegExp(searchString); + var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = String(searchString); + return $startsWith + ? $startsWith.call(that, search, index) + : that.slice(index, index + search.length) === search; + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.string.trim.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.string.trim.js ***! + \*************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var $trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js-pure/internals/string-trim.js").trim; +var forcedStringTrimMethod = __webpack_require__(/*! ../internals/string-trim-forced */ "./node_modules/core-js-pure/internals/string-trim-forced.js"); + +// `String.prototype.trim` method +// https://tc39.es/ecma262/#sec-string.prototype.trim +$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, { + trim: function trim() { + return $trim(this); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.symbol.async-iterator.js": +/*!***********************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.symbol.async-iterator.js ***! + \***********************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.asyncIterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.asynciterator +defineWellKnownSymbol('asyncIterator'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.symbol.description.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.symbol.description.js ***! + \********************************************************************/ +/***/ (function() { + +// empty + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.symbol.has-instance.js": +/*!*********************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.symbol.has-instance.js ***! + \*********************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.hasInstance` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.hasinstance +defineWellKnownSymbol('hasInstance'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js ***! + \*****************************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.isConcatSpreadable` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable +defineWellKnownSymbol('isConcatSpreadable'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.symbol.iterator.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.symbol.iterator.js ***! + \*****************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.iterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.iterator +defineWellKnownSymbol('iterator'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.symbol.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.symbol.js ***! + \********************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js-pure/internals/get-built-in.js"); +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js-pure/internals/is-pure.js"); +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js-pure/internals/descriptors.js"); +var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js-pure/internals/native-symbol.js"); +var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "./node_modules/core-js-pure/internals/use-symbol-as-uid.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js-pure/internals/fails.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js-pure/internals/has.js"); +var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js-pure/internals/is-array.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js-pure/internals/is-object.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js-pure/internals/an-object.js"); +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js-pure/internals/to-object.js"); +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js-pure/internals/to-indexed-object.js"); +var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js-pure/internals/to-primitive.js"); +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js-pure/internals/create-property-descriptor.js"); +var nativeObjectCreate = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js-pure/internals/object-create.js"); +var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js-pure/internals/object-keys.js"); +var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js-pure/internals/object-get-own-property-names.js"); +var getOwnPropertyNamesExternal = __webpack_require__(/*! ../internals/object-get-own-property-names-external */ "./node_modules/core-js-pure/internals/object-get-own-property-names-external.js"); +var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js-pure/internals/object-get-own-property-symbols.js"); +var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js"); +var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js-pure/internals/object-define-property.js"); +var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js-pure/internals/object-property-is-enumerable.js"); +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js-pure/internals/create-non-enumerable-property.js"); +var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js-pure/internals/redefine.js"); +var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js-pure/internals/shared.js"); +var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js-pure/internals/shared-key.js"); +var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js-pure/internals/hidden-keys.js"); +var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js-pure/internals/uid.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); +var wrappedWellKnownSymbolModule = __webpack_require__(/*! ../internals/well-known-symbol-wrapped */ "./node_modules/core-js-pure/internals/well-known-symbol-wrapped.js"); +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); +var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js-pure/internals/set-to-string-tag.js"); +var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js-pure/internals/internal-state.js"); +var $forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js-pure/internals/array-iteration.js").forEach; + +var HIDDEN = sharedKey('hidden'); +var SYMBOL = 'Symbol'; +var PROTOTYPE = 'prototype'; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(SYMBOL); +var ObjectPrototype = Object[PROTOTYPE]; +var $Symbol = global.Symbol; +var $stringify = getBuiltIn('JSON', 'stringify'); +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; +var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; +var AllSymbols = shared('symbols'); +var ObjectPrototypeSymbols = shared('op-symbols'); +var StringToSymbolRegistry = shared('string-to-symbol-registry'); +var SymbolToStringRegistry = shared('symbol-to-string-registry'); +var WellKnownSymbolsStore = shared('wks'); +var QObject = global.QObject; +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var setSymbolDescriptor = DESCRIPTORS && fails(function () { + return nativeObjectCreate(nativeDefineProperty({}, 'a', { + get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } + })).a != 7; +}) ? function (O, P, Attributes) { + var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); + if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; + nativeDefineProperty(O, P, Attributes); + if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { + nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); + } +} : nativeDefineProperty; + +var wrap = function (tag, description) { + var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]); + setInternalState(symbol, { + type: SYMBOL, + tag: tag, + description: description + }); + if (!DESCRIPTORS) symbol.description = description; + return symbol; +}; + +var isSymbol = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + return Object(it) instanceof $Symbol; +}; + +var $defineProperty = function defineProperty(O, P, Attributes) { + if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); + anObject(O); + var key = toPrimitive(P, true); + anObject(Attributes); + if (has(AllSymbols, key)) { + if (!Attributes.enumerable) { + if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); + O[HIDDEN][key] = true; + } else { + if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; + Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); + } return setSymbolDescriptor(O, key, Attributes); + } return nativeDefineProperty(O, key, Attributes); +}; + +var $defineProperties = function defineProperties(O, Properties) { + anObject(O); + var properties = toIndexedObject(Properties); + var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); + $forEach(keys, function (key) { + if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]); + }); + return O; +}; + +var $create = function create(O, Properties) { + return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); +}; + +var $propertyIsEnumerable = function propertyIsEnumerable(V) { + var P = toPrimitive(V, true); + var enumerable = nativePropertyIsEnumerable.call(this, P); + if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false; + return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true; +}; + +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { + var it = toIndexedObject(O); + var key = toPrimitive(P, true); + if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return; + var descriptor = nativeGetOwnPropertyDescriptor(it, key); + if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) { + descriptor.enumerable = true; + } + return descriptor; +}; + +var $getOwnPropertyNames = function getOwnPropertyNames(O) { + var names = nativeGetOwnPropertyNames(toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key); + }); + return result; +}; + +var $getOwnPropertySymbols = function getOwnPropertySymbols(O) { + var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; + var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) { + result.push(AllSymbols[key]); + } + }); + return result; +}; + +// `Symbol` constructor +// https://tc39.es/ecma262/#sec-symbol-constructor +if (!NATIVE_SYMBOL) { + $Symbol = function Symbol() { + if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor'); + var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]); + var tag = uid(description); + var setter = function (value) { + if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value); + if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; + setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); + }; + if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); + return wrap(tag, description); + }; + + redefine($Symbol[PROTOTYPE], 'toString', function toString() { + return getInternalState(this).tag; + }); + + redefine($Symbol, 'withoutSetter', function (description) { + return wrap(uid(description), description); + }); + + propertyIsEnumerableModule.f = $propertyIsEnumerable; + definePropertyModule.f = $defineProperty; + getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; + getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; + getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; + + wrappedWellKnownSymbolModule.f = function (name) { + return wrap(wellKnownSymbol(name), name); + }; + + if (DESCRIPTORS) { + // https://github.com/tc39/proposal-Symbol-description + nativeDefineProperty($Symbol[PROTOTYPE], 'description', { + configurable: true, + get: function description() { + return getInternalState(this).description; + } + }); + if (!IS_PURE) { + redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); + } + } +} + +$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { + Symbol: $Symbol +}); + +$forEach(objectKeys(WellKnownSymbolsStore), function (name) { + defineWellKnownSymbol(name); +}); + +$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { + // `Symbol.for` method + // https://tc39.es/ecma262/#sec-symbol.for + 'for': function (key) { + var string = String(key); + if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; + var symbol = $Symbol(string); + StringToSymbolRegistry[string] = symbol; + SymbolToStringRegistry[symbol] = string; + return symbol; + }, + // `Symbol.keyFor` method + // https://tc39.es/ecma262/#sec-symbol.keyfor + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol'); + if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; + }, + useSetter: function () { USE_SETTER = true; }, + useSimple: function () { USE_SETTER = false; } +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { + // `Object.create` method + // https://tc39.es/ecma262/#sec-object.create + create: $create, + // `Object.defineProperty` method + // https://tc39.es/ecma262/#sec-object.defineproperty + defineProperty: $defineProperty, + // `Object.defineProperties` method + // https://tc39.es/ecma262/#sec-object.defineproperties + defineProperties: $defineProperties, + // `Object.getOwnPropertyDescriptor` method + // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors + getOwnPropertyDescriptor: $getOwnPropertyDescriptor +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { + // `Object.getOwnPropertyNames` method + // https://tc39.es/ecma262/#sec-object.getownpropertynames + getOwnPropertyNames: $getOwnPropertyNames, + // `Object.getOwnPropertySymbols` method + // https://tc39.es/ecma262/#sec-object.getownpropertysymbols + getOwnPropertySymbols: $getOwnPropertySymbols +}); + +// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives +// https://bugs.chromium.org/p/v8/issues/detail?id=3443 +$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, { + getOwnPropertySymbols: function getOwnPropertySymbols(it) { + return getOwnPropertySymbolsModule.f(toObject(it)); + } +}); + +// `JSON.stringify` method behavior with symbols +// https://tc39.es/ecma262/#sec-json.stringify +if ($stringify) { + var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () { + var symbol = $Symbol(); + // MS Edge converts symbol values to JSON as {} + return $stringify([symbol]) != '[null]' + // WebKit converts symbol values to JSON as null + || $stringify({ a: symbol }) != '{}' + // V8 throws on boxed symbols + || $stringify(Object(symbol)) != '{}'; + }); + + $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + stringify: function stringify(it, replacer, space) { + var args = [it]; + var index = 1; + var $replacer; + while (arguments.length > index) args.push(arguments[index++]); + $replacer = replacer; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (typeof $replacer == 'function') value = $replacer.call(this, key, value); + if (!isSymbol(value)) return value; + }; + args[1] = replacer; + return $stringify.apply(null, args); + } + }); +} + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) { + createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); +} +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag($Symbol, SYMBOL); + +hiddenKeys[HIDDEN] = true; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.symbol.match-all.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.symbol.match-all.js ***! + \******************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.matchAll` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.matchall +defineWellKnownSymbol('matchAll'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.symbol.match.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.symbol.match.js ***! + \**************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.match` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.match +defineWellKnownSymbol('match'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.symbol.replace.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.symbol.replace.js ***! + \****************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.replace` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.replace +defineWellKnownSymbol('replace'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.symbol.search.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.symbol.search.js ***! + \***************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.search` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.search +defineWellKnownSymbol('search'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.symbol.species.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.symbol.species.js ***! + \****************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.species` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.species +defineWellKnownSymbol('species'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.symbol.split.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.symbol.split.js ***! + \**************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.split` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.split +defineWellKnownSymbol('split'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.symbol.to-primitive.js": +/*!*********************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.symbol.to-primitive.js ***! + \*********************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.toPrimitive` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.toprimitive +defineWellKnownSymbol('toPrimitive'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.symbol.to-string-tag.js": +/*!**********************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.symbol.to-string-tag.js ***! + \**********************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.toStringTag` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.tostringtag +defineWellKnownSymbol('toStringTag'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/es.symbol.unscopables.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/es.symbol.unscopables.js ***! + \********************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.unscopables` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.unscopables +defineWellKnownSymbol('unscopables'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/esnext.aggregate-error.js": +/*!*********************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/esnext.aggregate-error.js ***! + \*********************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +// TODO: Remove from `core-js@4` +__webpack_require__(/*! ./es.aggregate-error */ "./node_modules/core-js-pure/modules/es.aggregate-error.js"); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/esnext.promise.all-settled.js": +/*!*************************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/esnext.promise.all-settled.js ***! + \*************************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +// TODO: Remove from `core-js@4` +__webpack_require__(/*! ./es.promise.all-settled.js */ "./node_modules/core-js-pure/modules/es.promise.all-settled.js"); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/esnext.promise.any.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/esnext.promise.any.js ***! + \*****************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +// TODO: Remove from `core-js@4` +__webpack_require__(/*! ./es.promise.any */ "./node_modules/core-js-pure/modules/es.promise.any.js"); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/esnext.promise.try.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/esnext.promise.try.js ***! + \*****************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js-pure/internals/export.js"); +var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js-pure/internals/new-promise-capability.js"); +var perform = __webpack_require__(/*! ../internals/perform */ "./node_modules/core-js-pure/internals/perform.js"); + +// `Promise.try` method +// https://github.com/tc39/proposal-promise-try +$({ target: 'Promise', stat: true }, { + 'try': function (callbackfn) { + var promiseCapability = newPromiseCapabilityModule.f(this); + var result = perform(callbackfn); + (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value); + return promiseCapability.promise; + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js": +/*!**************************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js ***! + \**************************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.asyncDispose` well-known symbol +// https://github.com/tc39/proposal-using-statement +defineWellKnownSymbol('asyncDispose'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/esnext.symbol.dispose.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/esnext.symbol.dispose.js ***! + \********************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.dispose` well-known symbol +// https://github.com/tc39/proposal-using-statement +defineWellKnownSymbol('dispose'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/esnext.symbol.matcher.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/esnext.symbol.matcher.js ***! + \********************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.matcher` well-known symbol +// https://github.com/tc39/proposal-pattern-matching +defineWellKnownSymbol('matcher'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/esnext.symbol.metadata.js": +/*!*********************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/esnext.symbol.metadata.js ***! + \*********************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.metadata` well-known symbol +// https://github.com/tc39/proposal-decorators +defineWellKnownSymbol('metadata'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/esnext.symbol.observable.js": +/*!***********************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/esnext.symbol.observable.js ***! + \***********************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.observable` well-known symbol +// https://github.com/tc39/proposal-observable +defineWellKnownSymbol('observable'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js": +/*!**************************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js ***! + \**************************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +// TODO: remove from `core-js@4` +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +// `Symbol.patternMatch` well-known symbol +// https://github.com/tc39/proposal-pattern-matching +defineWellKnownSymbol('patternMatch'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/esnext.symbol.replace-all.js": +/*!************************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/esnext.symbol.replace-all.js ***! + \************************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +// TODO: remove from `core-js@4` +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js-pure/internals/define-well-known-symbol.js"); + +defineWellKnownSymbol('replaceAll'); + + +/***/ }), + +/***/ "./node_modules/core-js-pure/modules/web.dom-collections.iterator.js": +/*!***************************************************************************!*\ + !*** ./node_modules/core-js-pure/modules/web.dom-collections.iterator.js ***! + \***************************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ./es.array.iterator */ "./node_modules/core-js-pure/modules/es.array.iterator.js"); +var DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ "./node_modules/core-js-pure/internals/dom-iterables.js"); +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js-pure/internals/global.js"); +var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js-pure/internals/classof.js"); +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js-pure/internals/create-non-enumerable-property.js"); +var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js-pure/internals/iterators.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js-pure/internals/well-known-symbol.js"); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +for (var COLLECTION_NAME in DOMIterables) { + var Collection = global[COLLECTION_NAME]; + var CollectionPrototype = Collection && Collection.prototype; + if (CollectionPrototype && classof(CollectionPrototype) !== TO_STRING_TAG) { + createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); + } + Iterators[COLLECTION_NAME] = Iterators.Array; +} + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/array/from.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js-pure/stable/array/from.js ***! + \********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/array/from */ "./node_modules/core-js-pure/es/array/from.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/array/is-array.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/array/is-array.js ***! + \************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/array/is-array */ "./node_modules/core-js-pure/es/array/is-array.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/array/virtual/for-each.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/array/virtual/for-each.js ***! + \********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../../es/array/virtual/for-each */ "./node_modules/core-js-pure/es/array/virtual/for-each.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/array/virtual/values.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/array/virtual/values.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../../es/array/virtual/values */ "./node_modules/core-js-pure/es/array/virtual/values.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/date/now.js": +/*!******************************************************!*\ + !*** ./node_modules/core-js-pure/stable/date/now.js ***! + \******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/date/now */ "./node_modules/core-js-pure/es/date/now.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/instance/bind.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/stable/instance/bind.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/instance/bind */ "./node_modules/core-js-pure/es/instance/bind.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/instance/concat.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/instance/concat.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/instance/concat */ "./node_modules/core-js-pure/es/instance/concat.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/instance/every.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/instance/every.js ***! + \************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/instance/every */ "./node_modules/core-js-pure/es/instance/every.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/instance/fill.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/stable/instance/fill.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/instance/fill */ "./node_modules/core-js-pure/es/instance/fill.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/instance/filter.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/instance/filter.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/instance/filter */ "./node_modules/core-js-pure/es/instance/filter.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/instance/for-each.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/instance/for-each.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/web.dom-collections.iterator */ "./node_modules/core-js-pure/modules/web.dom-collections.iterator.js"); +var forEach = __webpack_require__(/*! ../array/virtual/for-each */ "./node_modules/core-js-pure/stable/array/virtual/for-each.js"); +var classof = __webpack_require__(/*! ../../internals/classof */ "./node_modules/core-js-pure/internals/classof.js"); +var ArrayPrototype = Array.prototype; + +var DOMIterables = { + DOMTokenList: true, + NodeList: true +}; + +module.exports = function (it) { + var own = it.forEach; + return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.forEach) + // eslint-disable-next-line no-prototype-builtins -- safe + || DOMIterables.hasOwnProperty(classof(it)) ? forEach : own; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/instance/includes.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/instance/includes.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/instance/includes */ "./node_modules/core-js-pure/es/instance/includes.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/instance/index-of.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/instance/index-of.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/instance/index-of */ "./node_modules/core-js-pure/es/instance/index-of.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/instance/map.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js-pure/stable/instance/map.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/instance/map */ "./node_modules/core-js-pure/es/instance/map.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/instance/reduce.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/instance/reduce.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/instance/reduce */ "./node_modules/core-js-pure/es/instance/reduce.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/instance/reverse.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/instance/reverse.js ***! + \**************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/instance/reverse */ "./node_modules/core-js-pure/es/instance/reverse.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/instance/slice.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/instance/slice.js ***! + \************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/instance/slice */ "./node_modules/core-js-pure/es/instance/slice.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/instance/some.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/stable/instance/some.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/instance/some */ "./node_modules/core-js-pure/es/instance/some.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/instance/starts-with.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/instance/starts-with.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/instance/starts-with */ "./node_modules/core-js-pure/es/instance/starts-with.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/instance/trim.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/stable/instance/trim.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/instance/trim */ "./node_modules/core-js-pure/es/instance/trim.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/instance/values.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/instance/values.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +__webpack_require__(/*! ../../modules/web.dom-collections.iterator */ "./node_modules/core-js-pure/modules/web.dom-collections.iterator.js"); +var values = __webpack_require__(/*! ../array/virtual/values */ "./node_modules/core-js-pure/stable/array/virtual/values.js"); +var classof = __webpack_require__(/*! ../../internals/classof */ "./node_modules/core-js-pure/internals/classof.js"); +var ArrayPrototype = Array.prototype; + +var DOMIterables = { + DOMTokenList: true, + NodeList: true +}; + +module.exports = function (it) { + var own = it.values; + return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.values) + // eslint-disable-next-line no-prototype-builtins -- safe + || DOMIterables.hasOwnProperty(classof(it)) ? values : own; +}; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/map/index.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js-pure/stable/map/index.js ***! + \*******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/map */ "./node_modules/core-js-pure/es/map/index.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/object/define-properties.js": +/*!**********************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/object/define-properties.js ***! + \**********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/object/define-properties */ "./node_modules/core-js-pure/es/object/define-properties.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/object/define-property.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/object/define-property.js ***! + \********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/object/define-property */ "./node_modules/core-js-pure/es/object/define-property.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/object/get-own-property-descriptor.js": +/*!********************************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/object/get-own-property-descriptor.js ***! + \********************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/object/get-own-property-descriptor */ "./node_modules/core-js-pure/es/object/get-own-property-descriptor.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/object/get-own-property-descriptors.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/object/get-own-property-descriptors.js ***! + \*********************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/object/get-own-property-descriptors */ "./node_modules/core-js-pure/es/object/get-own-property-descriptors.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/object/get-own-property-symbols.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/object/get-own-property-symbols.js ***! + \*****************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/object/get-own-property-symbols */ "./node_modules/core-js-pure/es/object/get-own-property-symbols.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/object/keys.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js-pure/stable/object/keys.js ***! + \*********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/object/keys */ "./node_modules/core-js-pure/es/object/keys.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/parse-float.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js-pure/stable/parse-float.js ***! + \*********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../es/parse-float */ "./node_modules/core-js-pure/es/parse-float.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/parse-int.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js-pure/stable/parse-int.js ***! + \*******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../es/parse-int */ "./node_modules/core-js-pure/es/parse-int.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/promise/index.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/stable/promise/index.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/promise */ "./node_modules/core-js-pure/es/promise/index.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/reflect/apply.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js-pure/stable/reflect/apply.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/reflect/apply */ "./node_modules/core-js-pure/es/reflect/apply.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/reflect/construct.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/reflect/construct.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/reflect/construct */ "./node_modules/core-js-pure/es/reflect/construct.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/reflect/delete-property.js": +/*!*********************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/reflect/delete-property.js ***! + \*********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/reflect/delete-property */ "./node_modules/core-js-pure/es/reflect/delete-property.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/reflect/get-prototype-of.js": +/*!**********************************************************************!*\ + !*** ./node_modules/core-js-pure/stable/reflect/get-prototype-of.js ***! + \**********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/reflect/get-prototype-of */ "./node_modules/core-js-pure/es/reflect/get-prototype-of.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js-pure/stable/symbol/index.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js-pure/stable/symbol/index.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var parent = __webpack_require__(/*! ../../es/symbol */ "./node_modules/core-js-pure/es/symbol/index.js"); + +module.exports = parent; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/a-function.js": +/*!******************************************************!*\ + !*** ./node_modules/core-js/internals/a-function.js ***! + \******************************************************/ +/***/ (function(module) { + +module.exports = function (it) { + if (typeof it != 'function') { + throw TypeError(String(it) + ' is not a function'); + } return it; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/a-possible-prototype.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js/internals/a-possible-prototype.js ***! + \****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); + +module.exports = function (it) { + if (!isObject(it) && it !== null) { + throw TypeError("Can't set " + String(it) + ' as a prototype'); + } return it; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/add-to-unscopables.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js/internals/add-to-unscopables.js ***! + \**************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); +var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); +var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); + +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; + +// Array.prototype[@@unscopables] +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +if (ArrayPrototype[UNSCOPABLES] == undefined) { + definePropertyModule.f(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} + +// add a key to Array.prototype[@@unscopables] +module.exports = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/an-object.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/an-object.js ***! + \*****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); + +module.exports = function (it) { + if (!isObject(it)) { + throw TypeError(String(it) + ' is not an object'); + } return it; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/array-for-each.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/array-for-each.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").forEach; +var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); + +var STRICT_METHOD = arrayMethodIsStrict('forEach'); + +// `Array.prototype.forEach` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.foreach +module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +} : [].forEach; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/array-includes.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/array-includes.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); +var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); +var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +module.exports = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/array-iteration.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js/internals/array-iteration.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); +var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); +var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); +var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js"); + +var push = [].push; + +// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation +var createMethod = function (TYPE) { + var IS_MAP = TYPE == 1; + var IS_FILTER = TYPE == 2; + var IS_SOME = TYPE == 3; + var IS_EVERY = TYPE == 4; + var IS_FIND_INDEX = TYPE == 6; + var IS_FILTER_REJECT = TYPE == 7; + var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + return function ($this, callbackfn, that, specificCreate) { + var O = toObject($this); + var self = IndexedObject(O); + var boundFunction = bind(callbackfn, that, 3); + var length = toLength(self.length); + var index = 0; + var create = specificCreate || arraySpeciesCreate; + var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; + var value, result; + for (;length > index; index++) if (NO_HOLES || index in self) { + value = self[index]; + result = boundFunction(value, index, O); + if (TYPE) { + if (IS_MAP) target[index] = result; // map + else if (result) switch (TYPE) { + case 3: return true; // some + case 5: return value; // find + case 6: return index; // findIndex + case 2: push.call(target, value); // filter + } else switch (TYPE) { + case 4: return false; // every + case 7: push.call(target, value); // filterReject + } + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; + }; +}; + +module.exports = { + // `Array.prototype.forEach` method + // https://tc39.es/ecma262/#sec-array.prototype.foreach + forEach: createMethod(0), + // `Array.prototype.map` method + // https://tc39.es/ecma262/#sec-array.prototype.map + map: createMethod(1), + // `Array.prototype.filter` method + // https://tc39.es/ecma262/#sec-array.prototype.filter + filter: createMethod(2), + // `Array.prototype.some` method + // https://tc39.es/ecma262/#sec-array.prototype.some + some: createMethod(3), + // `Array.prototype.every` method + // https://tc39.es/ecma262/#sec-array.prototype.every + every: createMethod(4), + // `Array.prototype.find` method + // https://tc39.es/ecma262/#sec-array.prototype.find + find: createMethod(5), + // `Array.prototype.findIndex` method + // https://tc39.es/ecma262/#sec-array.prototype.findIndex + findIndex: createMethod(6), + // `Array.prototype.filterReject` method + // https://github.com/tc39/proposal-array-filtering + filterReject: createMethod(7) +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/array-method-has-species-support.js": +/*!****************************************************************************!*\ + !*** ./node_modules/core-js/internals/array-method-has-species-support.js ***! + \****************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); +var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js"); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (METHOD_NAME) { + // We can't use this feature detection in V8 since it causes + // deoptimization and serious performance degradation + // https://github.com/zloirock/core-js/issues/677 + return V8_VERSION >= 51 || !fails(function () { + var array = []; + var constructor = array.constructor = {}; + constructor[SPECIES] = function () { + return { foo: 1 }; + }; + return array[METHOD_NAME](Boolean).foo !== 1; + }); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/array-method-is-strict.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js/internals/array-method-is-strict.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); + +module.exports = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing + method.call(null, argument || function () { throw 1; }, 1); + }); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/array-species-constructor.js": +/*!*********************************************************************!*\ + !*** ./node_modules/core-js/internals/array-species-constructor.js ***! + \*********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); +var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); + +var SPECIES = wellKnownSymbol('species'); + +// a part of `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray) { + var C; + if (isArray(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; + else if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? Array : C; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/array-species-create.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js/internals/array-species-create.js ***! + \****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var arraySpeciesConstructor = __webpack_require__(/*! ../internals/array-species-constructor */ "./node_modules/core-js/internals/array-species-constructor.js"); + +// `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray, length) { + return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/classof-raw.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js/internals/classof-raw.js ***! + \*******************************************************/ +/***/ (function(module) { + +var toString = {}.toString; + +module.exports = function (it) { + return toString.call(it).slice(8, -1); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/classof.js": +/*!***************************************************!*\ + !*** ./node_modules/core-js/internals/classof.js ***! + \***************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js"); +var classofRaw = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/copy-constructor-properties.js": +/*!***********************************************************************!*\ + !*** ./node_modules/core-js/internals/copy-constructor-properties.js ***! + \***********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js/internals/own-keys.js"); +var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); +var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); + +module.exports = function (target, source) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/correct-prototype-getter.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js/internals/correct-prototype-getter.js ***! + \********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); + +module.exports = !fails(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/create-html.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js/internals/create-html.js ***! + \*******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); +var toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js"); + +var quot = /"/g; + +// `CreateHTML` abstract operation +// https://tc39.es/ecma262/#sec-createhtml +module.exports = function (string, tag, attribute, value) { + var S = toString(requireObjectCoercible(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + toString(value).replace(quot, '"') + '"'; + return p1 + '>' + S + ''; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/create-iterator-constructor.js": +/*!***********************************************************************!*\ + !*** ./node_modules/core-js/internals/create-iterator-constructor.js ***! + \***********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var IteratorPrototype = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js/internals/iterators-core.js").IteratorPrototype; +var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); +var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); +var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); + +var returnThis = function () { return this; }; + +module.exports = function (IteratorConstructor, NAME, next) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/create-non-enumerable-property.js": +/*!**************************************************************************!*\ + !*** ./node_modules/core-js/internals/create-non-enumerable-property.js ***! + \**************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); + +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/create-property-descriptor.js": +/*!**********************************************************************!*\ + !*** ./node_modules/core-js/internals/create-property-descriptor.js ***! + \**********************************************************************/ +/***/ (function(module) { + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/create-property.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js/internals/create-property.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ "./node_modules/core-js/internals/to-property-key.js"); +var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); + +module.exports = function (object, key, value) { + var propertyKey = toPropertyKey(key); + if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else object[propertyKey] = value; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/define-iterator.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js/internals/define-iterator.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); +var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ "./node_modules/core-js/internals/create-iterator-constructor.js"); +var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); +var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); +var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); +var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); +var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); +var IteratorsCore = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js/internals/iterators-core.js"); + +var IteratorPrototype = IteratorsCore.IteratorPrototype; +var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; +var ITERATOR = wellKnownSymbol('iterator'); +var KEYS = 'keys'; +var VALUES = 'values'; +var ENTRIES = 'entries'; + +var returnThis = function () { return this; }; + +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + + var getIterationMethod = function (KIND) { + if (KIND === DEFAULT && defaultIterator) return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND]; + switch (KIND) { + case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; + case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; + case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; + } return function () { return new IteratorConstructor(this); }; + }; + + var TO_STRING_TAG = NAME + ' Iterator'; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] + || IterablePrototype['@@iterator'] + || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + + // fix native + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') { + createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + // Set @@toStringTag to native iterators + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; + } + } + + // fix Array.prototype.{ values, @@iterator }.name in V8 / FF + if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { return nativeIterator.call(this); }; + } + + // define iterator + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator); + } + Iterators[NAME] = defaultIterator; + + // export additional methods + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + redefine(IterablePrototype, KEY, methods[KEY]); + } + } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); + } + + return methods; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/define-well-known-symbol.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js/internals/define-well-known-symbol.js ***! + \********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var wrappedWellKnownSymbolModule = __webpack_require__(/*! ../internals/well-known-symbol-wrapped */ "./node_modules/core-js/internals/well-known-symbol-wrapped.js"); +var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; + +module.exports = function (NAME) { + var Symbol = path.Symbol || (path.Symbol = {}); + if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, { + value: wrappedWellKnownSymbolModule.f(NAME) + }); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/descriptors.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js/internals/descriptors.js ***! + \*******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); + +// Detect IE8's incomplete defineProperty implementation +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; +}); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/document-create-element.js": +/*!*******************************************************************!*\ + !*** ./node_modules/core-js/internals/document-create-element.js ***! + \*******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); + +var document = global.document; +// typeof document.createElement is 'object' in old IE +var EXISTS = isObject(document) && isObject(document.createElement); + +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/dom-iterables.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js/internals/dom-iterables.js ***! + \*********************************************************/ +/***/ (function(module) { + +// iterable DOM collections +// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods +module.exports = { + CSSRuleList: 0, + CSSStyleDeclaration: 0, + CSSValueList: 0, + ClientRectList: 0, + DOMRectList: 0, + DOMStringList: 0, + DOMTokenList: 1, + DataTransferItemList: 0, + FileList: 0, + HTMLAllCollection: 0, + HTMLCollection: 0, + HTMLFormElement: 0, + HTMLSelectElement: 0, + MediaList: 0, + MimeTypeArray: 0, + NamedNodeMap: 0, + NodeList: 1, + PaintRequestList: 0, + Plugin: 0, + PluginArray: 0, + SVGLengthList: 0, + SVGNumberList: 0, + SVGPathSegList: 0, + SVGPointList: 0, + SVGStringList: 0, + SVGTransformList: 0, + SourceBufferList: 0, + StyleSheetList: 0, + TextTrackCueList: 0, + TextTrackList: 0, + TouchList: 0 +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/engine-user-agent.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js/internals/engine-user-agent.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); + +module.exports = getBuiltIn('navigator', 'userAgent') || ''; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/engine-v8-version.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js/internals/engine-v8-version.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js"); + +var process = global.process; +var Deno = global.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + version = match[0] < 4 ? 1 : match[0] + match[1]; +} else if (userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) version = match[1]; + } +} + +module.exports = version && +version; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/enum-bug-keys.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js/internals/enum-bug-keys.js ***! + \*********************************************************/ +/***/ (function(module) { + +// IE8- don't enum bug keys +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/export.js": +/*!**************************************************!*\ + !*** ./node_modules/core-js/internals/export.js ***! + \**************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); +var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); +var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js"); +var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "./node_modules/core-js/internals/copy-constructor-properties.js"); +var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js"); + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.noTargetGet - prevent calling a getter on target +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global; + } else if (STATIC) { + target = global[TARGET] || setGlobal(TARGET, {}); + } else { + target = (global[TARGET] || {}).prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty === typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + // extend global + redefine(target, key, sourceProperty, options); + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/fails.js": +/*!*************************************************!*\ + !*** ./node_modules/core-js/internals/fails.js ***! + \*************************************************/ +/***/ (function(module) { + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/function-bind-context.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js/internals/function-bind-context.js ***! + \*****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); + +// optional / simple context binding +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 0: return function () { + return fn.call(that); + }; + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/get-built-in.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js/internals/get-built-in.js ***! + \********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); + +var aFunction = function (variable) { + return typeof variable == 'function' ? variable : undefined; +}; + +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method]; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/global.js": +/*!**************************************************!*\ + !*** ./node_modules/core-js/internals/global.js ***! + \**************************************************/ +/***/ (function(module) { + +var check = function (it) { + return it && it.Math == Math && it; +}; + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +module.exports = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof global == 'object' && global) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || Function('return this')(); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/has.js": +/*!***********************************************!*\ + !*** ./node_modules/core-js/internals/has.js ***! + \***********************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); + +var hasOwnProperty = {}.hasOwnProperty; + +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty.call(toObject(it), key); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/hidden-keys.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js/internals/hidden-keys.js ***! + \*******************************************************/ +/***/ (function(module) { + +module.exports = {}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/html.js": +/*!************************************************!*\ + !*** ./node_modules/core-js/internals/html.js ***! + \************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); + +module.exports = getBuiltIn('document', 'documentElement'); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/ie8-dom-define.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/ie8-dom-define.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); +var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js"); + +// Thank's IE8 for his funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- requied for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a != 7; +}); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/indexed-object.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/indexed-object.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); +var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); + +var split = ''.split; + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) == 'String' ? split.call(it, '') : Object(it); +} : Object; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/inherit-if-required.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js/internals/inherit-if-required.js ***! + \***************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); +var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); + +// makes subclassing work correct for wrapped built-ins +module.exports = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if ( + // it can work only with native `setPrototypeOf` + setPrototypeOf && + // we haven't completely correct pre-ES6 way for getting `new.target`, so use this + typeof (NewTarget = dummy.constructor) == 'function' && + NewTarget !== Wrapper && + isObject(NewTargetPrototype = NewTarget.prototype) && + NewTargetPrototype !== Wrapper.prototype + ) setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/inspect-source.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/inspect-source.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js"); + +var functionToString = Function.toString; + +// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper +if (typeof store.inspectSource != 'function') { + store.inspectSource = function (it) { + return functionToString.call(it); + }; +} + +module.exports = store.inspectSource; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/internal-state.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/internal-state.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ "./node_modules/core-js/internals/native-weak-map.js"); +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); +var objectHas = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var shared = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js"); +var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); +var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); + +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var WeakMap = global.WeakMap; +var set, get, has; + +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; + +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + var wmget = store.get; + var wmhas = store.has; + var wmset = store.set; + set = function (it, metadata) { + if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + wmset.call(store, it, metadata); + return metadata; + }; + get = function (it) { + return wmget.call(store, it) || {}; + }; + has = function (it) { + return wmhas.call(store, it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return objectHas(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return objectHas(it, STATE); + }; +} + +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/is-array.js": +/*!****************************************************!*\ + !*** ./node_modules/core-js/internals/is-array.js ***! + \****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); + +// `IsArray` abstract operation +// https://tc39.es/ecma262/#sec-isarray +// eslint-disable-next-line es/no-array-isarray -- safe +module.exports = Array.isArray || function isArray(arg) { + return classof(arg) == 'Array'; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/is-forced.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/is-forced.js ***! + \*****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); + +var replacement = /#|\.prototype\./; + +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value == POLYFILL ? true + : value == NATIVE ? false + : typeof detection == 'function' ? fails(detection) + : !!detection; +}; + +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; + +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; + +module.exports = isForced; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/is-object.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/is-object.js ***! + \*****************************************************/ +/***/ (function(module) { + +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/is-pure.js": +/*!***************************************************!*\ + !*** ./node_modules/core-js/internals/is-pure.js ***! + \***************************************************/ +/***/ (function(module) { + +module.exports = false; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/is-symbol.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/is-symbol.js ***! + \*****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); +var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "./node_modules/core-js/internals/use-symbol-as-uid.js"); + +module.exports = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn('Symbol'); + return typeof $Symbol == 'function' && Object(it) instanceof $Symbol; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/iterators-core.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js/internals/iterators-core.js ***! + \**********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); +var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); + +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; + +var returnThis = function () { return this; }; + +// `%IteratorPrototype%` object +// https://tc39.es/ecma262/#sec-%iteratorprototype%-object +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + +/* eslint-disable es/no-array-prototype-keys -- safe */ +if ([].keys) { + arrayIterator = [].keys(); + // Safari 8 has buggy iterators w/o `next` + if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} + +var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () { + var test = {}; + // FF44- legacy iterators case + return IteratorPrototype[ITERATOR].call(test) !== test; +}); + +if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; + +// `%IteratorPrototype%[@@iterator]()` method +// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator +if ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) { + createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis); +} + +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/iterators.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/iterators.js ***! + \*****************************************************/ +/***/ (function(module) { + +module.exports = {}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/native-symbol.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js/internals/native-symbol.js ***! + \*********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +/* eslint-disable es/no-symbol -- required for testing */ +var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol(); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + return !String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/native-weak-map.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js/internals/native-weak-map.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js"); + +var WeakMap = global.WeakMap; + +module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap)); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-assign.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js/internals/object-assign.js ***! + \*********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); +var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js"); +var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js"); +var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js"); +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); +var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); + +// eslint-disable-next-line es/no-object-assign -- safe +var $assign = Object.assign; +// eslint-disable-next-line es/no-object-defineproperty -- required for testing +var defineProperty = Object.defineProperty; + +// `Object.assign` method +// https://tc39.es/ecma262/#sec-object.assign +module.exports = !$assign || fails(function () { + // should have correct order of operations (Edge bug) + if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', { + enumerable: true, + get: function () { + defineProperty(this, 'b', { + value: 3, + enumerable: false + }); + } + }), { b: 2 })).b !== 1) return true; + // should work with symbols and should have deterministic property order (V8 bug) + var A = {}; + var B = {}; + // eslint-disable-next-line es/no-symbol -- safe + var symbol = Symbol(); + var alphabet = 'abcdefghijklmnopqrst'; + A[symbol] = 7; + alphabet.split('').forEach(function (chr) { B[chr] = chr; }); + return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` + var T = toObject(target); + var argumentsLength = arguments.length; + var index = 1; + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + var propertyIsEnumerable = propertyIsEnumerableModule.f; + while (argumentsLength > index) { + var S = IndexedObject(arguments[index++]); + var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) { + key = keys[j++]; + if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key]; + } + } return T; +} : $assign; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-create.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js/internals/object-create.js ***! + \*********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +/* global ActiveXObject -- old IE, WSH */ +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); +var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js"); +var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js"); +var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); +var html = __webpack_require__(/*! ../internals/html */ "./node_modules/core-js/internals/html.js"); +var documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js"); +var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); + +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); + +var EmptyConstructor = function () { /* empty */ }; + +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; + +// Create object with fake `null` prototype: use ActiveX Object with cleared prototype +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + activeXDocument = null; // avoid memory leak + return temp; +}; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var NullProtoObjectViaIFrame = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + if (iframe.style) { + iframe.style.display = 'none'; + html.appendChild(iframe); + // https://github.com/zloirock/core-js/issues/475 + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; + } +}; + +// Check for document.domain and active x support +// No need to use active x approach when document.domain is not set +// see https://github.com/es-shims/es5-shim/issues/150 +// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 +// avoid IE GC bug +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { /* ignore */ } + NullProtoObject = document.domain && activeXDocument ? + NullProtoObjectViaActiveX(activeXDocument) : // old IE + NullProtoObjectViaIFrame() || + NullProtoObjectViaActiveX(activeXDocument); // WSH + var length = enumBugKeys.length; + while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; + +hiddenKeys[IE_PROTO] = true; + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = NullProtoObject(); + return Properties === undefined ? result : defineProperties(result, Properties); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-define-properties.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js/internals/object-define-properties.js ***! + \********************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); +var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js"); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]); + return O; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-define-property.js": +/*!******************************************************************!*\ + !*** ./node_modules/core-js/internals/object-define-property.js ***! + \******************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); +var toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ "./node_modules/core-js/internals/to-property-key.js"); + +// eslint-disable-next-line es/no-object-defineproperty -- safe +var $defineProperty = Object.defineProperty; + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return $defineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-get-own-property-descriptor.js": +/*!******************************************************************************!*\ + !*** ./node_modules/core-js/internals/object-get-own-property-descriptor.js ***! + \******************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js"); +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); +var toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ "./node_modules/core-js/internals/to-property-key.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js"); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-get-own-property-names-external.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/core-js/internals/object-get-own-property-names-external.js ***! + \**********************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +/* eslint-disable es/no-object-getownpropertynames -- safe */ +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); +var $getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f; + +var toString = {}.toString; + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return $getOwnPropertyNames(it); + } catch (error) { + return windowNames.slice(); + } +}; + +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && toString.call(it) == '[object Window]' + ? getWindowNames(it) + : $getOwnPropertyNames(toIndexedObject(it)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-get-own-property-names.js": +/*!*************************************************************************!*\ + !*** ./node_modules/core-js/internals/object-get-own-property-names.js ***! + \*************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js"); +var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js"); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-get-own-property-symbols.js": +/*!***************************************************************************!*\ + !*** ./node_modules/core-js/internals/object-get-own-property-symbols.js ***! + \***************************************************************************/ +/***/ (function(__unused_webpack_module, exports) { + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +exports.f = Object.getOwnPropertySymbols; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-get-prototype-of.js": +/*!*******************************************************************!*\ + !*** ./node_modules/core-js/internals/object-get-prototype-of.js ***! + \*******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); +var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js/internals/correct-prototype-getter.js"); + +var IE_PROTO = sharedKey('IE_PROTO'); +var ObjectPrototype = Object.prototype; + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +// eslint-disable-next-line es/no-object-getprototypeof -- safe +module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { + O = toObject(O); + if (has(O, IE_PROTO)) return O[IE_PROTO]; + if (typeof O.constructor == 'function' && O instanceof O.constructor) { + return O.constructor.prototype; + } return O instanceof Object ? ObjectPrototype : null; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-keys-internal.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js/internals/object-keys-internal.js ***! + \****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); +var indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").indexOf; +var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); + +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has(O, key = names[i++])) { + ~indexOf(result, key) || result.push(key); + } + return result; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-keys.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js/internals/object-keys.js ***! + \*******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js"); +var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js"); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +// eslint-disable-next-line es/no-object-keys -- safe +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-property-is-enumerable.js": +/*!*************************************************************************!*\ + !*** ./node_modules/core-js/internals/object-property-is-enumerable.js ***! + \*************************************************************************/ +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); + +// `Object.prototype.propertyIsEnumerable` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-set-prototype-of.js": +/*!*******************************************************************!*\ + !*** ./node_modules/core-js/internals/object-set-prototype-of.js ***! + \*******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +/* eslint-disable no-proto -- safe */ +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); +var aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ "./node_modules/core-js/internals/a-possible-prototype.js"); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +// Works with __proto__ only. Old v8 can't work with null proto objects. +// eslint-disable-next-line es/no-object-setprototypeof -- safe +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; + setter.call(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { /* empty */ } + return function setPrototypeOf(O, proto) { + anObject(O); + aPossiblePrototype(proto); + if (CORRECT_SETTER) setter.call(O, proto); + else O.__proto__ = proto; + return O; + }; +}() : undefined); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/object-to-string.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js/internals/object-to-string.js ***! + \************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js"); +var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js"); + +// `Object.prototype.toString` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.tostring +module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { + return '[object ' + classof(this) + ']'; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/ordinary-to-primitive.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js/internals/ordinary-to-primitive.js ***! + \*****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); + +// `OrdinaryToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-ordinarytoprimitive +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; + if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; + if (pref !== 'string' && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/own-keys.js": +/*!****************************************************!*\ + !*** ./node_modules/core-js/internals/own-keys.js ***! + \****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); +var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js"); +var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); + +// all object keys, includes non-enumerable and symbols +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/path.js": +/*!************************************************!*\ + !*** ./node_modules/core-js/internals/path.js ***! + \************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); + +module.exports = global; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/redefine.js": +/*!****************************************************!*\ + !*** ./node_modules/core-js/internals/redefine.js ***! + \****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js"); +var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js"); +var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); + +var getInternalState = InternalStateModule.get; +var enforceInternalState = InternalStateModule.enforce; +var TEMPLATE = String(String).split('String'); + +(module.exports = function (O, key, value, options) { + var unsafe = options ? !!options.unsafe : false; + var simple = options ? !!options.enumerable : false; + var noTargetGet = options ? !!options.noTargetGet : false; + var state; + if (typeof value == 'function') { + if (typeof key == 'string' && !has(value, 'name')) { + createNonEnumerableProperty(value, 'name', key); + } + state = enforceInternalState(value); + if (!state.source) { + state.source = TEMPLATE.join(typeof key == 'string' ? key : ''); + } + } + if (O === global) { + if (simple) O[key] = value; + else setGlobal(key, value); + return; + } else if (!unsafe) { + delete O[key]; + } else if (!noTargetGet && O[key]) { + simple = true; + } + if (simple) O[key] = value; + else createNonEnumerableProperty(O, key, value); +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +})(Function.prototype, 'toString', function toString() { + return typeof this == 'function' && getInternalState(this).source || inspectSource(this); +}); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/regexp-flags.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js/internals/regexp-flags.js ***! + \********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); + +// `RegExp.prototype.flags` getter implementation +// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.dotAll) result += 's'; + if (that.unicode) result += 'u'; + if (that.sticky) result += 'y'; + return result; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/require-object-coercible.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js/internals/require-object-coercible.js ***! + \********************************************************************/ +/***/ (function(module) { + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/set-global.js": +/*!******************************************************!*\ + !*** ./node_modules/core-js/internals/set-global.js ***! + \******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); + +module.exports = function (key, value) { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty(global, key, { value: value, configurable: true, writable: true }); + } catch (error) { + global[key] = value; + } return value; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/set-to-string-tag.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js/internals/set-to-string-tag.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +module.exports = function (it, TAG, STATIC) { + if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { + defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/shared-key.js": +/*!******************************************************!*\ + !*** ./node_modules/core-js/internals/shared-key.js ***! + \******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js"); +var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); + +var keys = shared('keys'); + +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/shared-store.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js/internals/shared-store.js ***! + \********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js"); + +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || setGlobal(SHARED, {}); + +module.exports = store; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/shared.js": +/*!**************************************************!*\ + !*** ./node_modules/core-js/internals/shared.js ***! + \**************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); +var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js"); + +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.16.0', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2021 Denis Pushkarev (zloirock.ru)' +}); + + +/***/ }), + +/***/ "./node_modules/core-js/internals/string-html-forced.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js/internals/string-html-forced.js ***! + \**************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); + +// check the existence of a method, lowercase +// of a tag and escaping quotes in arguments +module.exports = function (METHOD_NAME) { + return fails(function () { + var test = ''[METHOD_NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/string-multibyte.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js/internals/string-multibyte.js ***! + \************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); +var toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js"); +var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); + +// `String.prototype.codePointAt` methods implementation +var createMethod = function (CONVERT_TO_STRING) { + return function ($this, pos) { + var S = toString(requireObjectCoercible($this)); + var position = toInteger(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; + first = S.charCodeAt(position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size + || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF + ? CONVERT_TO_STRING ? S.charAt(position) : first + : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + }; +}; + +module.exports = { + // `String.prototype.codePointAt` method + // https://tc39.es/ecma262/#sec-string.prototype.codepointat + codeAt: createMethod(false), + // `String.prototype.at` method + // https://github.com/mathiasbynens/String.prototype.at + charAt: createMethod(true) +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/string-trim.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js/internals/string-trim.js ***! + \*******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); +var toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js"); +var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js"); + +var whitespace = '[' + whitespaces + ']'; +var ltrim = RegExp('^' + whitespace + whitespace + '*'); +var rtrim = RegExp(whitespace + whitespace + '*$'); + +// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation +var createMethod = function (TYPE) { + return function ($this) { + var string = toString(requireObjectCoercible($this)); + if (TYPE & 1) string = string.replace(ltrim, ''); + if (TYPE & 2) string = string.replace(rtrim, ''); + return string; + }; +}; + +module.exports = { + // `String.prototype.{ trimLeft, trimStart }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimstart + start: createMethod(1), + // `String.prototype.{ trimRight, trimEnd }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimend + end: createMethod(2), + // `String.prototype.trim` method + // https://tc39.es/ecma262/#sec-string.prototype.trim + trim: createMethod(3) +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-absolute-index.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js/internals/to-absolute-index.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +module.exports = function (index, length) { + var integer = toInteger(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-indexed-object.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js/internals/to-indexed-object.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); +var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-integer.js": +/*!******************************************************!*\ + !*** ./node_modules/core-js/internals/to-integer.js ***! + \******************************************************/ +/***/ (function(module) { + +var ceil = Math.ceil; +var floor = Math.floor; + +// `ToInteger` abstract operation +// https://tc39.es/ecma262/#sec-tointeger +module.exports = function (argument) { + return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-length.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/to-length.js ***! + \*****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +module.exports = function (argument) { + return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-object.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/to-object.js ***! + \*****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); + +// `ToObject` abstract operation +// https://tc39.es/ecma262/#sec-toobject +module.exports = function (argument) { + return Object(requireObjectCoercible(argument)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-primitive.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js/internals/to-primitive.js ***! + \********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); +var isSymbol = __webpack_require__(/*! ../internals/is-symbol */ "./node_modules/core-js/internals/is-symbol.js"); +var ordinaryToPrimitive = __webpack_require__(/*! ../internals/ordinary-to-primitive */ "./node_modules/core-js/internals/ordinary-to-primitive.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); + +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + +// `ToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-toprimitive +module.exports = function (input, pref) { + if (!isObject(input) || isSymbol(input)) return input; + var exoticToPrim = input[TO_PRIMITIVE]; + var result; + if (exoticToPrim !== undefined) { + if (pref === undefined) pref = 'default'; + result = exoticToPrim.call(input, pref); + if (!isObject(result) || isSymbol(result)) return result; + throw TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-property-key.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js/internals/to-property-key.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); +var isSymbol = __webpack_require__(/*! ../internals/is-symbol */ "./node_modules/core-js/internals/is-symbol.js"); + +// `ToPropertyKey` abstract operation +// https://tc39.es/ecma262/#sec-topropertykey +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : String(key); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-string-tag-support.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js/internals/to-string-tag-support.js ***! + \*****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +module.exports = String(test) === '[object z]'; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-string.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/to-string.js ***! + \*****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var isSymbol = __webpack_require__(/*! ../internals/is-symbol */ "./node_modules/core-js/internals/is-symbol.js"); + +module.exports = function (argument) { + if (isSymbol(argument)) throw TypeError('Cannot convert a Symbol value to a string'); + return String(argument); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/uid.js": +/*!***********************************************!*\ + !*** ./node_modules/core-js/internals/uid.js ***! + \***********************************************/ +/***/ (function(module) { + +var id = 0; +var postfix = Math.random(); + +module.exports = function (key) { + return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/use-symbol-as-uid.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js/internals/use-symbol-as-uid.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +/* eslint-disable es/no-symbol -- required for testing */ +var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js"); + +module.exports = NATIVE_SYMBOL + && !Symbol.sham + && typeof Symbol.iterator == 'symbol'; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/well-known-symbol-wrapped.js": +/*!*********************************************************************!*\ + !*** ./node_modules/core-js/internals/well-known-symbol-wrapped.js ***! + \*********************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); + +exports.f = wellKnownSymbol; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/well-known-symbol.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js/internals/well-known-symbol.js ***! + \*************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); +var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js"); +var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "./node_modules/core-js/internals/use-symbol-as-uid.js"); + +var WellKnownSymbolsStore = shared('wks'); +var Symbol = global.Symbol; +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; + +module.exports = function (name) { + if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { + if (NATIVE_SYMBOL && has(Symbol, name)) { + WellKnownSymbolsStore[name] = Symbol[name]; + } else { + WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); + } + } return WellKnownSymbolsStore[name]; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/internals/whitespaces.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js/internals/whitespaces.js ***! + \*******************************************************/ +/***/ (function(module) { + +// a string of all valid unicode whitespaces +module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' + + '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.array.concat.js": +/*!*********************************************************!*\ + !*** ./node_modules/core-js/modules/es.array.concat.js ***! + \*********************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); +var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); +var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); +var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); +var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js"); +var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); +var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js"); + +var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; +var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; + +// We can't use this feature detection in V8 since it causes +// deoptimization and serious performance degradation +// https://github.com/zloirock/core-js/issues/679 +var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { + var array = []; + array[IS_CONCAT_SPREADABLE] = false; + return array.concat()[0] !== array; +}); + +var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat'); + +var isConcatSpreadable = function (O) { + if (!isObject(O)) return false; + var spreadable = O[IS_CONCAT_SPREADABLE]; + return spreadable !== undefined ? !!spreadable : isArray(O); +}; + +var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; + +// `Array.prototype.concat` method +// https://tc39.es/ecma262/#sec-array.prototype.concat +// with adding support of @@isConcatSpreadable and @@species +$({ target: 'Array', proto: true, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + concat: function concat(arg) { + var O = toObject(this); + var A = arraySpeciesCreate(O, 0); + var n = 0; + var i, k, length, len, E; + for (i = -1, length = arguments.length; i < length; i++) { + E = i === -1 ? O : arguments[i]; + if (isConcatSpreadable(E)) { + len = toLength(E.length); + if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); + for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); + } else { + if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); + createProperty(A, n++, E); + } + } + A.length = n; + return A; + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.array.iterator.js": +/*!***********************************************************!*\ + !*** ./node_modules/core-js/modules/es.array.iterator.js ***! + \***********************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); +var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); +var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); +var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); +var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js"); + +var ARRAY_ITERATOR = 'Array Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); + +// `Array.prototype.entries` method +// https://tc39.es/ecma262/#sec-array.prototype.entries +// `Array.prototype.keys` method +// https://tc39.es/ecma262/#sec-array.prototype.keys +// `Array.prototype.values` method +// https://tc39.es/ecma262/#sec-array.prototype.values +// `Array.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-array.prototype-@@iterator +// `CreateArrayIterator` internal method +// https://tc39.es/ecma262/#sec-createarrayiterator +module.exports = defineIterator(Array, 'Array', function (iterated, kind) { + setInternalState(this, { + type: ARRAY_ITERATOR, + target: toIndexedObject(iterated), // target + index: 0, // next index + kind: kind // kind + }); +// `%ArrayIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next +}, function () { + var state = getInternalState(this); + var target = state.target; + var kind = state.kind; + var index = state.index++; + if (!target || index >= target.length) { + state.target = undefined; + return { value: undefined, done: true }; + } + if (kind == 'keys') return { value: index, done: false }; + if (kind == 'values') return { value: target[index], done: false }; + return { value: [index, target[index]], done: false }; +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% +// https://tc39.es/ecma262/#sec-createunmappedargumentsobject +// https://tc39.es/ecma262/#sec-createmappedargumentsobject +Iterators.Arguments = Iterators.Array; + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.array.join.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js/modules/es.array.join.js ***! + \*******************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); +var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); +var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); + +var nativeJoin = [].join; + +var ES3_STRINGS = IndexedObject != Object; +var STRICT_METHOD = arrayMethodIsStrict('join', ','); + +// `Array.prototype.join` method +// https://tc39.es/ecma262/#sec-array.prototype.join +$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, { + join: function join(separator) { + return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.array.map.js": +/*!******************************************************!*\ + !*** ./node_modules/core-js/modules/es.array.map.js ***! + \******************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); +var $map = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").map; +var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js"); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); + +// `Array.prototype.map` method +// https://tc39.es/ecma262/#sec-array.prototype.map +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.array.slice.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js/modules/es.array.slice.js ***! + \********************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); +var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); +var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); +var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); +var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); +var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js"); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); + +var SPECIES = wellKnownSymbol('species'); +var nativeSlice = [].slice; +var max = Math.max; + +// `Array.prototype.slice` method +// https://tc39.es/ecma262/#sec-array.prototype.slice +// fallback for not array-like ES3 strings and DOM objects +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + slice: function slice(start, end) { + var O = toIndexedObject(this); + var length = toLength(O.length); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible + var Constructor, result, n; + if (isArray(O)) { + Constructor = O.constructor; + // cross-realm fallback + if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) { + Constructor = undefined; + } else if (isObject(Constructor)) { + Constructor = Constructor[SPECIES]; + if (Constructor === null) Constructor = undefined; + } + if (Constructor === Array || Constructor === undefined) { + return nativeSlice.call(O, k, fin); + } + } + result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0)); + for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); + result.length = n; + return result; + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.function.name.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js/modules/es.function.name.js ***! + \**********************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; + +var FunctionPrototype = Function.prototype; +var FunctionPrototypeToString = FunctionPrototype.toString; +var nameRE = /^\s*function ([^ (]*)/; +var NAME = 'name'; + +// Function instances `.name` property +// https://tc39.es/ecma262/#sec-function-instances-name +if (DESCRIPTORS && !(NAME in FunctionPrototype)) { + defineProperty(FunctionPrototype, NAME, { + configurable: true, + get: function () { + try { + return FunctionPrototypeToString.call(this).match(nameRE)[1]; + } catch (error) { + return ''; + } + } + }); +} + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.number.constructor.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js/modules/es.number.constructor.js ***! + \***************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js"); +var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); +var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js"); +var isSymbol = __webpack_require__(/*! ../internals/is-symbol */ "./node_modules/core-js/internals/is-symbol.js"); +var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); +var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); +var getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f; +var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; +var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; +var trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim; + +var NUMBER = 'Number'; +var NativeNumber = global[NUMBER]; +var NumberPrototype = NativeNumber.prototype; + +// Opera ~12 has broken Object#toString +var BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER; + +// `ToNumber` abstract operation +// https://tc39.es/ecma262/#sec-tonumber +var toNumber = function (argument) { + if (isSymbol(argument)) throw TypeError('Cannot convert a Symbol value to a number'); + var it = toPrimitive(argument, 'number'); + var first, third, radix, maxCode, digits, length, index, code; + if (typeof it == 'string' && it.length > 2) { + it = trim(it); + first = it.charCodeAt(0); + if (first === 43 || first === 45) { + third = it.charCodeAt(2); + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (it.charCodeAt(1)) { + case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i + case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i + default: return +it; + } + digits = it.slice(2); + length = digits.length; + for (index = 0; index < length; index++) { + code = digits.charCodeAt(index); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if (code < 48 || code > maxCode) return NaN; + } return parseInt(digits, radix); + } + } return +it; +}; + +// `Number` constructor +// https://tc39.es/ecma262/#sec-number-constructor +if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) { + var NumberWrapper = function Number(value) { + var it = arguments.length < 1 ? 0 : value; + var dummy = this; + return dummy instanceof NumberWrapper + // check on 1..constructor(foo) case + && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER) + ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it); + }; + for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES2015 (in case, if modules with ES2015 Number statics required before): + 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' + + // ESNext + 'fromString,range' + ).split(','), j = 0, key; keys.length > j; j++) { + if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) { + defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key)); + } + } + NumberWrapper.prototype = NumberPrototype; + NumberPrototype.constructor = NumberWrapper; + redefine(global, NUMBER, NumberWrapper); +} + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.object.assign.js": +/*!**********************************************************!*\ + !*** ./node_modules/core-js/modules/es.object.assign.js ***! + \**********************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); +var assign = __webpack_require__(/*! ../internals/object-assign */ "./node_modules/core-js/internals/object-assign.js"); + +// `Object.assign` method +// https://tc39.es/ecma262/#sec-object.assign +// eslint-disable-next-line es/no-object-assign -- required for testing +$({ target: 'Object', stat: true, forced: Object.assign !== assign }, { + assign: assign +}); + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.object.keys.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js/modules/es.object.keys.js ***! + \********************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); +var nativeKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); }); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + keys: function keys(it) { + return nativeKeys(toObject(it)); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.object.to-string.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js/modules/es.object.to-string.js ***! + \*************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js"); +var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); +var toString = __webpack_require__(/*! ../internals/object-to-string */ "./node_modules/core-js/internals/object-to-string.js"); + +// `Object.prototype.toString` method +// https://tc39.es/ecma262/#sec-object.prototype.tostring +if (!TO_STRING_TAG_SUPPORT) { + redefine(Object.prototype, 'toString', toString, { unsafe: true }); +} + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.regexp.to-string.js": +/*!*************************************************************!*\ + !*** ./node_modules/core-js/modules/es.regexp.to-string.js ***! + \*************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); +var $toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); +var flags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js"); + +var TO_STRING = 'toString'; +var RegExpPrototype = RegExp.prototype; +var nativeToString = RegExpPrototype[TO_STRING]; + +var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; }); +// FF44- RegExp#toString has a wrong name +var INCORRECT_NAME = nativeToString.name != TO_STRING; + +// `RegExp.prototype.toString` method +// https://tc39.es/ecma262/#sec-regexp.prototype.tostring +if (NOT_GENERIC || INCORRECT_NAME) { + redefine(RegExp.prototype, TO_STRING, function toString() { + var R = anObject(this); + var p = $toString(R.source); + var rf = R.flags; + var f = $toString(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf); + return '/' + p + '/' + f; + }, { unsafe: true }); +} + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.string.iterator.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js/modules/es.string.iterator.js ***! + \************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var charAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").charAt; +var toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js"); +var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); +var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js"); + +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// `String.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-string.prototype-@@iterator +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: toString(iterated), + index: 0 + }); +// `%StringIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return { value: undefined, done: true }; + point = charAt(string, index); + state.index += point.length; + return { value: point, done: false }; +}); + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.string.link.js": +/*!********************************************************!*\ + !*** ./node_modules/core-js/modules/es.string.link.js ***! + \********************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); +var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); +var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); + +// `String.prototype.link` method +// https://tc39.es/ecma262/#sec-string.prototype.link +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, { + link: function link(url) { + return createHTML(this, 'a', 'href', url); + } +}); + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.symbol.description.js": +/*!***************************************************************!*\ + !*** ./node_modules/core-js/modules/es.symbol.description.js ***! + \***************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +// `Symbol.prototype.description` getter +// https://tc39.es/ecma262/#sec-symbol.prototype.description + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); +var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; +var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "./node_modules/core-js/internals/copy-constructor-properties.js"); + +var NativeSymbol = global.Symbol; + +if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || + // Safari 12 bug + NativeSymbol().description !== undefined +)) { + var EmptyStringDescriptionStore = {}; + // wrap Symbol constructor for correct work with undefined description + var SymbolWrapper = function Symbol() { + var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]); + var result = this instanceof SymbolWrapper + ? new NativeSymbol(description) + // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)' + : description === undefined ? NativeSymbol() : NativeSymbol(description); + if (description === '') EmptyStringDescriptionStore[result] = true; + return result; + }; + copyConstructorProperties(SymbolWrapper, NativeSymbol); + var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype; + symbolPrototype.constructor = SymbolWrapper; + + var symbolToString = symbolPrototype.toString; + var native = String(NativeSymbol('test')) == 'Symbol(test)'; + var regexp = /^Symbol\((.*)\)[^)]+$/; + defineProperty(symbolPrototype, 'description', { + configurable: true, + get: function description() { + var symbol = isObject(this) ? this.valueOf() : this; + var string = symbolToString.call(symbol); + if (has(EmptyStringDescriptionStore, symbol)) return ''; + var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1'); + return desc === '' ? undefined : desc; + } + }); + + $({ global: true, forced: true }, { + Symbol: SymbolWrapper + }); +} + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.symbol.iterator.js": +/*!************************************************************!*\ + !*** ./node_modules/core-js/modules/es.symbol.iterator.js ***! + \************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); + +// `Symbol.iterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.iterator +defineWellKnownSymbol('iterator'); + + +/***/ }), + +/***/ "./node_modules/core-js/modules/es.symbol.js": +/*!***************************************************!*\ + !*** ./node_modules/core-js/modules/es.symbol.js ***! + \***************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); +var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); +var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); +var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); +var isSymbol = __webpack_require__(/*! ../internals/is-symbol */ "./node_modules/core-js/internals/is-symbol.js"); +var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); +var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); +var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); +var toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ "./node_modules/core-js/internals/to-property-key.js"); +var $toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js"); +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); +var nativeObjectCreate = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); +var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js"); +var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js"); +var getOwnPropertyNamesExternal = __webpack_require__(/*! ../internals/object-get-own-property-names-external */ "./node_modules/core-js/internals/object-get-own-property-names-external.js"); +var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js"); +var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); +var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); +var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js"); +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); +var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); +var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js"); +var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); +var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); +var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); +var wrappedWellKnownSymbolModule = __webpack_require__(/*! ../internals/well-known-symbol-wrapped */ "./node_modules/core-js/internals/well-known-symbol-wrapped.js"); +var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); +var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); +var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); +var $forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").forEach; + +var HIDDEN = sharedKey('hidden'); +var SYMBOL = 'Symbol'; +var PROTOTYPE = 'prototype'; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(SYMBOL); +var ObjectPrototype = Object[PROTOTYPE]; +var $Symbol = global.Symbol; +var $stringify = getBuiltIn('JSON', 'stringify'); +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; +var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; +var AllSymbols = shared('symbols'); +var ObjectPrototypeSymbols = shared('op-symbols'); +var StringToSymbolRegistry = shared('string-to-symbol-registry'); +var SymbolToStringRegistry = shared('symbol-to-string-registry'); +var WellKnownSymbolsStore = shared('wks'); +var QObject = global.QObject; +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var setSymbolDescriptor = DESCRIPTORS && fails(function () { + return nativeObjectCreate(nativeDefineProperty({}, 'a', { + get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } + })).a != 7; +}) ? function (O, P, Attributes) { + var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); + if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; + nativeDefineProperty(O, P, Attributes); + if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { + nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); + } +} : nativeDefineProperty; + +var wrap = function (tag, description) { + var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]); + setInternalState(symbol, { + type: SYMBOL, + tag: tag, + description: description + }); + if (!DESCRIPTORS) symbol.description = description; + return symbol; +}; + +var $defineProperty = function defineProperty(O, P, Attributes) { + if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); + anObject(O); + var key = toPropertyKey(P); + anObject(Attributes); + if (has(AllSymbols, key)) { + if (!Attributes.enumerable) { + if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); + O[HIDDEN][key] = true; + } else { + if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; + Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); + } return setSymbolDescriptor(O, key, Attributes); + } return nativeDefineProperty(O, key, Attributes); +}; + +var $defineProperties = function defineProperties(O, Properties) { + anObject(O); + var properties = toIndexedObject(Properties); + var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); + $forEach(keys, function (key) { + if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]); + }); + return O; +}; + +var $create = function create(O, Properties) { + return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); +}; + +var $propertyIsEnumerable = function propertyIsEnumerable(V) { + var P = toPropertyKey(V); + var enumerable = nativePropertyIsEnumerable.call(this, P); + if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false; + return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true; +}; + +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { + var it = toIndexedObject(O); + var key = toPropertyKey(P); + if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return; + var descriptor = nativeGetOwnPropertyDescriptor(it, key); + if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) { + descriptor.enumerable = true; + } + return descriptor; +}; + +var $getOwnPropertyNames = function getOwnPropertyNames(O) { + var names = nativeGetOwnPropertyNames(toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key); + }); + return result; +}; + +var $getOwnPropertySymbols = function getOwnPropertySymbols(O) { + var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; + var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) { + result.push(AllSymbols[key]); + } + }); + return result; +}; + +// `Symbol` constructor +// https://tc39.es/ecma262/#sec-symbol-constructor +if (!NATIVE_SYMBOL) { + $Symbol = function Symbol() { + if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor'); + var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]); + var tag = uid(description); + var setter = function (value) { + if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value); + if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; + setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); + }; + if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); + return wrap(tag, description); + }; + + redefine($Symbol[PROTOTYPE], 'toString', function toString() { + return getInternalState(this).tag; + }); + + redefine($Symbol, 'withoutSetter', function (description) { + return wrap(uid(description), description); + }); + + propertyIsEnumerableModule.f = $propertyIsEnumerable; + definePropertyModule.f = $defineProperty; + getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; + getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; + getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; + + wrappedWellKnownSymbolModule.f = function (name) { + return wrap(wellKnownSymbol(name), name); + }; + + if (DESCRIPTORS) { + // https://github.com/tc39/proposal-Symbol-description + nativeDefineProperty($Symbol[PROTOTYPE], 'description', { + configurable: true, + get: function description() { + return getInternalState(this).description; + } + }); + if (!IS_PURE) { + redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); + } + } +} + +$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { + Symbol: $Symbol +}); + +$forEach(objectKeys(WellKnownSymbolsStore), function (name) { + defineWellKnownSymbol(name); +}); + +$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { + // `Symbol.for` method + // https://tc39.es/ecma262/#sec-symbol.for + 'for': function (key) { + var string = $toString(key); + if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; + var symbol = $Symbol(string); + StringToSymbolRegistry[string] = symbol; + SymbolToStringRegistry[symbol] = string; + return symbol; + }, + // `Symbol.keyFor` method + // https://tc39.es/ecma262/#sec-symbol.keyfor + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol'); + if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; + }, + useSetter: function () { USE_SETTER = true; }, + useSimple: function () { USE_SETTER = false; } +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { + // `Object.create` method + // https://tc39.es/ecma262/#sec-object.create + create: $create, + // `Object.defineProperty` method + // https://tc39.es/ecma262/#sec-object.defineproperty + defineProperty: $defineProperty, + // `Object.defineProperties` method + // https://tc39.es/ecma262/#sec-object.defineproperties + defineProperties: $defineProperties, + // `Object.getOwnPropertyDescriptor` method + // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors + getOwnPropertyDescriptor: $getOwnPropertyDescriptor +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { + // `Object.getOwnPropertyNames` method + // https://tc39.es/ecma262/#sec-object.getownpropertynames + getOwnPropertyNames: $getOwnPropertyNames, + // `Object.getOwnPropertySymbols` method + // https://tc39.es/ecma262/#sec-object.getownpropertysymbols + getOwnPropertySymbols: $getOwnPropertySymbols +}); + +// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives +// https://bugs.chromium.org/p/v8/issues/detail?id=3443 +$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, { + getOwnPropertySymbols: function getOwnPropertySymbols(it) { + return getOwnPropertySymbolsModule.f(toObject(it)); + } +}); + +// `JSON.stringify` method behavior with symbols +// https://tc39.es/ecma262/#sec-json.stringify +if ($stringify) { + var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () { + var symbol = $Symbol(); + // MS Edge converts symbol values to JSON as {} + return $stringify([symbol]) != '[null]' + // WebKit converts symbol values to JSON as null + || $stringify({ a: symbol }) != '{}' + // V8 throws on boxed symbols + || $stringify(Object(symbol)) != '{}'; + }); + + $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + stringify: function stringify(it, replacer, space) { + var args = [it]; + var index = 1; + var $replacer; + while (arguments.length > index) args.push(arguments[index++]); + $replacer = replacer; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (typeof $replacer == 'function') value = $replacer.call(this, key, value); + if (!isSymbol(value)) return value; + }; + args[1] = replacer; + return $stringify.apply(null, args); + } + }); +} + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) { + createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); +} +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag($Symbol, SYMBOL); + +hiddenKeys[HIDDEN] = true; + + +/***/ }), + +/***/ "./node_modules/core-js/modules/web.dom-collections.for-each.js": +/*!**********************************************************************!*\ + !*** ./node_modules/core-js/modules/web.dom-collections.for-each.js ***! + \**********************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ "./node_modules/core-js/internals/dom-iterables.js"); +var forEach = __webpack_require__(/*! ../internals/array-for-each */ "./node_modules/core-js/internals/array-for-each.js"); +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); + +for (var COLLECTION_NAME in DOMIterables) { + var Collection = global[COLLECTION_NAME]; + var CollectionPrototype = Collection && Collection.prototype; + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { + createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); + } catch (error) { + CollectionPrototype.forEach = forEach; + } +} + + +/***/ }), + +/***/ "./node_modules/core-js/modules/web.dom-collections.iterator.js": +/*!**********************************************************************!*\ + !*** ./node_modules/core-js/modules/web.dom-collections.iterator.js ***! + \**********************************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ "./node_modules/core-js/internals/dom-iterables.js"); +var ArrayIteratorMethods = __webpack_require__(/*! ../modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js"); +var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); + +var ITERATOR = wellKnownSymbol('iterator'); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var ArrayValues = ArrayIteratorMethods.values; + +for (var COLLECTION_NAME in DOMIterables) { + var Collection = global[COLLECTION_NAME]; + var CollectionPrototype = Collection && Collection.prototype; + if (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[ITERATOR] !== ArrayValues) try { + createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); + } catch (error) { + CollectionPrototype[ITERATOR] = ArrayValues; + } + if (!CollectionPrototype[TO_STRING_TAG]) { + createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); + } + if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { + createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); + } catch (error) { + CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; + } + } + } +} + + +/***/ }), + +/***/ "./node_modules/dompurify/dist/purify.js": +/*!***********************************************!*\ + !*** ./node_modules/dompurify/dist/purify.js ***! + \***********************************************/ +/***/ (function(module) { + +/*! @license DOMPurify 2.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.0/LICENSE */ + +(function (global, factory) { + true ? module.exports = factory() : + 0; +}(this, function () { 'use strict'; + + function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } + + var hasOwnProperty = Object.hasOwnProperty, + setPrototypeOf = Object.setPrototypeOf, + isFrozen = Object.isFrozen, + getPrototypeOf = Object.getPrototypeOf, + getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + var freeze = Object.freeze, + seal = Object.seal, + create = Object.create; // eslint-disable-line import/no-mutable-exports + + var _ref = typeof Reflect !== 'undefined' && Reflect, + apply = _ref.apply, + construct = _ref.construct; + + if (!apply) { + apply = function apply(fun, thisValue, args) { + return fun.apply(thisValue, args); + }; + } + + if (!freeze) { + freeze = function freeze(x) { + return x; + }; + } + + if (!seal) { + seal = function seal(x) { + return x; + }; + } + + if (!construct) { + construct = function construct(Func, args) { + return new (Function.prototype.bind.apply(Func, [null].concat(_toConsumableArray(args))))(); + }; + } + + var arrayForEach = unapply(Array.prototype.forEach); + var arrayPop = unapply(Array.prototype.pop); + var arrayPush = unapply(Array.prototype.push); + + var stringToLowerCase = unapply(String.prototype.toLowerCase); + var stringMatch = unapply(String.prototype.match); + var stringReplace = unapply(String.prototype.replace); + var stringIndexOf = unapply(String.prototype.indexOf); + var stringTrim = unapply(String.prototype.trim); + + var regExpTest = unapply(RegExp.prototype.test); + + var typeErrorCreate = unconstruct(TypeError); + + function unapply(func) { + return function (thisArg) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + return apply(func, thisArg, args); + }; + } + + function unconstruct(func) { + return function () { + for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + + return construct(func, args); + }; + } + + /* Add properties to a lookup table */ + function addToSet(set, array) { + if (setPrototypeOf) { + // Make 'in' and truthy checks like Boolean(set.constructor) + // independent of any properties defined on Object.prototype. + // Prevent prototype setters from intercepting set as a this value. + setPrototypeOf(set, null); + } + + var l = array.length; + while (l--) { + var element = array[l]; + if (typeof element === 'string') { + var lcElement = stringToLowerCase(element); + if (lcElement !== element) { + // Config presets (e.g. tags.js, attrs.js) are immutable. + if (!isFrozen(array)) { + array[l] = lcElement; + } + + element = lcElement; + } + } + + set[element] = true; + } + + return set; + } + + /* Shallow clone an object */ + function clone(object) { + var newObject = create(null); + + var property = void 0; + for (property in object) { + if (apply(hasOwnProperty, object, [property])) { + newObject[property] = object[property]; + } + } + + return newObject; + } + + /* IE10 doesn't support __lookupGetter__ so lets' + * simulate it. It also automatically checks + * if the prop is function or getter and behaves + * accordingly. */ + function lookupGetter(object, prop) { + while (object !== null) { + var desc = getOwnPropertyDescriptor(object, prop); + if (desc) { + if (desc.get) { + return unapply(desc.get); + } + + if (typeof desc.value === 'function') { + return unapply(desc.value); + } + } + + object = getPrototypeOf(object); + } + + function fallbackValue(element) { + console.warn('fallback value for', element); + return null; + } + + return fallbackValue; + } + + var html = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']); + + // SVG + var svg = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']); + + var svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']); + + // List of SVG elements that are disallowed by default. + // We still need to know them so that we can do namespace + // checks properly in case one wants to add them to + // allow-list. + var svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'fedropshadow', 'feimage', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']); + + var mathMl = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']); + + // Similarly to SVG, we want to know all MathML elements, + // even those that we disallow by default. + var mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']); + + var text = freeze(['#text']); + + var html$1 = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns', 'slot']); + + var svg$1 = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']); + + var mathMl$1 = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']); + + var xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']); + + // eslint-disable-next-line unicorn/better-regex + var MUSTACHE_EXPR = seal(/\{\{[\s\S]*|[\s\S]*\}\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode + var ERB_EXPR = seal(/<%[\s\S]*|[\s\S]*%>/gm); + var DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]/); // eslint-disable-line no-useless-escape + var ARIA_ATTR = seal(/^aria-[\-\w]+$/); // eslint-disable-line no-useless-escape + var IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape + ); + var IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i); + var ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g // eslint-disable-line no-control-regex + ); + + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + + function _toConsumableArray$1(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } + + var getGlobal = function getGlobal() { + return typeof window === 'undefined' ? null : window; + }; + + /** + * Creates a no-op policy for internal use only. + * Don't export this function outside this module! + * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory. + * @param {Document} document The document object (to determine policy name suffix) + * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types + * are not supported). + */ + var _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) { + if ((typeof trustedTypes === 'undefined' ? 'undefined' : _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. + var suffix = null; + var ATTR_NAME = 'data-tt-policy-suffix'; + if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) { + suffix = document.currentScript.getAttribute(ATTR_NAME); + } + + var policyName = 'dompurify' + (suffix ? '#' + suffix : ''); + + try { + return trustedTypes.createPolicy(policyName, { + createHTML: function createHTML(html$$1) { + return html$$1; + } + }); + } 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; + } + }; + + function createDOMPurify() { + var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal(); + + var DOMPurify = function DOMPurify(root) { + return createDOMPurify(root); + }; + + /** + * Version label, exposed for easier checks + * if DOMPurify is up to date or not + */ + DOMPurify.version = '2.3.0'; + + /** + * Array of elements that DOMPurify removed during sanitation. + * Empty if nothing was removed. + */ + DOMPurify.removed = []; + + if (!window || !window.document || window.document.nodeType !== 9) { + // Not running in a browser, provide a factory function + // so that you can pass your own Window + DOMPurify.isSupported = false; + + return DOMPurify; + } + + var originalDocument = window.document; + + var document = window.document; + var DocumentFragment = window.DocumentFragment, + HTMLTemplateElement = window.HTMLTemplateElement, + Node = window.Node, + Element = window.Element, + NodeFilter = window.NodeFilter, + _window$NamedNodeMap = window.NamedNodeMap, + NamedNodeMap = _window$NamedNodeMap === undefined ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap, + Text = window.Text, + Comment = window.Comment, + DOMParser = window.DOMParser, + trustedTypes = window.trustedTypes; + + + var ElementPrototype = Element.prototype; + + var cloneNode = lookupGetter(ElementPrototype, 'cloneNode'); + var getNextSibling = lookupGetter(ElementPrototype, 'nextSibling'); + var getChildNodes = lookupGetter(ElementPrototype, 'childNodes'); + var getParentNode = lookupGetter(ElementPrototype, 'parentNode'); + + // As per issue #47, the web-components registry is inherited by a + // new document created via createHTMLDocument. As per the spec + // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries) + // a new empty registry is used when creating a template contents owner + // document, so we use that as our parent document to ensure nothing + // is inherited. + if (typeof HTMLTemplateElement === 'function') { + var template = document.createElement('template'); + if (template.content && template.content.ownerDocument) { + document = template.content.ownerDocument; + } + } + + var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument); + var emptyHTML = trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML('') : ''; + + var _document = document, + implementation = _document.implementation, + createNodeIterator = _document.createNodeIterator, + createDocumentFragment = _document.createDocumentFragment, + getElementsByTagName = _document.getElementsByTagName; + var importNode = originalDocument.importNode; + + + var documentMode = {}; + try { + documentMode = clone(document).documentMode ? document.documentMode : {}; + } catch (_) {} + + var hooks = {}; + + /** + * Expose whether this browser supports running the full DOMPurify. + */ + DOMPurify.isSupported = typeof getParentNode === 'function' && implementation && typeof implementation.createHTMLDocument !== 'undefined' && documentMode !== 9; + + var MUSTACHE_EXPR$$1 = MUSTACHE_EXPR, + ERB_EXPR$$1 = ERB_EXPR, + DATA_ATTR$$1 = DATA_ATTR, + ARIA_ATTR$$1 = ARIA_ATTR, + IS_SCRIPT_OR_DATA$$1 = IS_SCRIPT_OR_DATA, + ATTR_WHITESPACE$$1 = ATTR_WHITESPACE; + var IS_ALLOWED_URI$$1 = IS_ALLOWED_URI; + + /** + * We consider the elements and attributes below to be safe. Ideally + * don't add any new ones but feel free to remove unwanted ones. + */ + + /* allowed element names */ + + var ALLOWED_TAGS = null; + var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(html), _toConsumableArray$1(svg), _toConsumableArray$1(svgFilters), _toConsumableArray$1(mathMl), _toConsumableArray$1(text))); + + /* Allowed attribute names */ + var ALLOWED_ATTR = null; + var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray$1(html$1), _toConsumableArray$1(svg$1), _toConsumableArray$1(mathMl$1), _toConsumableArray$1(xml))); + + /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */ + var FORBID_TAGS = null; + + /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */ + var FORBID_ATTR = null; + + /* Decide if ARIA attributes are okay */ + var ALLOW_ARIA_ATTR = true; + + /* Decide if custom data attributes are okay */ + var ALLOW_DATA_ATTR = true; + + /* Decide if unknown protocols are okay */ + var ALLOW_UNKNOWN_PROTOCOLS = false; + + /* Output should be safe for common template engines. + * This means, DOMPurify removes data attributes, mustaches and ERB + */ + var SAFE_FOR_TEMPLATES = false; + + /* Decide if document with ... should be returned */ + var WHOLE_DOCUMENT = false; + + /* Track whether config is already set on this instance of DOMPurify. */ + var SET_CONFIG = false; + + /* Decide if all elements (e.g. style, script) must be children of + * document.body. By default, browsers might move them to document.head */ + var FORCE_BODY = false; + + /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html + * string (or a TrustedHTML object if Trusted Types are supported). + * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead + */ + var RETURN_DOM = false; + + /* Decide if a DOM `DocumentFragment` should be returned, instead of a html + * string (or a TrustedHTML object if Trusted Types are supported) */ + var RETURN_DOM_FRAGMENT = false; + + /* If `RETURN_DOM` or `RETURN_DOM_FRAGMENT` is enabled, decide if the returned DOM + * `Node` is imported into the current `Document`. If this flag is not enabled the + * `Node` will belong (its ownerDocument) to a fresh `HTMLDocument`, created by + * DOMPurify. + * + * This defaults to `true` starting DOMPurify 2.2.0. Note that setting it to `false` + * might cause XSS from attacks hidden in closed shadowroots in case the browser + * supports Declarative Shadow: DOM https://web.dev/declarative-shadow-dom/ + */ + var RETURN_DOM_IMPORT = true; + + /* Try to return a Trusted Type object instead of a string, return a string in + * case Trusted Types are not supported */ + var RETURN_TRUSTED_TYPE = false; + + /* Output should be free from DOM clobbering attacks? */ + var SANITIZE_DOM = true; + + /* Keep element content when removing element? */ + var KEEP_CONTENT = true; + + /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead + * of importing it into a new Document and returning a sanitized copy */ + var IN_PLACE = false; + + /* Allow usage of profiles like html, svg and mathMl */ + var USE_PROFILES = {}; + + /* Tags to ignore content of when KEEP_CONTENT is true */ + var FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']); + + /* Tags that are safe for data: URIs */ + var DATA_URI_TAGS = null; + var DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']); + + /* Attributes safe for values like "javascript:" */ + var URI_SAFE_ATTRIBUTES = null; + var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'summary', 'title', 'value', 'style', 'xmlns']); + + var MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML'; + var SVG_NAMESPACE = 'http://www.w3.org/2000/svg'; + var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml'; + /* Document namespace */ + var NAMESPACE = HTML_NAMESPACE; + var IS_EMPTY_INPUT = false; + + /* Keep a reference to config to pass to hooks */ + var CONFIG = null; + + /* Ideally, do not touch anything below this line */ + /* ______________________________________________ */ + + var formElement = document.createElement('form'); + + /** + * _parseConfig + * + * @param {Object} cfg optional config literal + */ + // eslint-disable-next-line complexity + var _parseConfig = function _parseConfig(cfg) { + if (CONFIG && CONFIG === cfg) { + return; + } + + /* Shield configuration object from tampering */ + if (!cfg || (typeof cfg === 'undefined' ? 'undefined' : _typeof(cfg)) !== 'object') { + cfg = {}; + } + + /* Shield configuration object from prototype pollution */ + cfg = clone(cfg); + + /* Set configuration parameters */ + ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS) : DEFAULT_ALLOWED_TAGS; + ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR) : DEFAULT_ALLOWED_ATTR; + URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR) : DEFAULT_URI_SAFE_ATTRIBUTES; + DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS) : DEFAULT_DATA_URI_TAGS; + FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS) : {}; + FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR) : {}; + USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false; + ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true + ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true + ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false + SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false + WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false + RETURN_DOM = cfg.RETURN_DOM || false; // Default false + RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false + RETURN_DOM_IMPORT = cfg.RETURN_DOM_IMPORT !== false; // Default true + RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false + FORCE_BODY = cfg.FORCE_BODY || false; // Default false + SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true + KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true + IN_PLACE = cfg.IN_PLACE || false; // Default false + IS_ALLOWED_URI$$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$$1; + NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE; + if (SAFE_FOR_TEMPLATES) { + ALLOW_DATA_ATTR = false; + } + + if (RETURN_DOM_FRAGMENT) { + RETURN_DOM = true; + } + + /* Parse profile info */ + if (USE_PROFILES) { + ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(text))); + ALLOWED_ATTR = []; + if (USE_PROFILES.html === true) { + addToSet(ALLOWED_TAGS, html); + addToSet(ALLOWED_ATTR, html$1); + } + + if (USE_PROFILES.svg === true) { + addToSet(ALLOWED_TAGS, svg); + addToSet(ALLOWED_ATTR, svg$1); + addToSet(ALLOWED_ATTR, xml); + } + + if (USE_PROFILES.svgFilters === true) { + addToSet(ALLOWED_TAGS, svgFilters); + addToSet(ALLOWED_ATTR, svg$1); + addToSet(ALLOWED_ATTR, xml); + } + + if (USE_PROFILES.mathMl === true) { + addToSet(ALLOWED_TAGS, mathMl); + addToSet(ALLOWED_ATTR, mathMl$1); + addToSet(ALLOWED_ATTR, xml); + } + } + + /* Merge configuration parameters */ + if (cfg.ADD_TAGS) { + if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) { + ALLOWED_TAGS = clone(ALLOWED_TAGS); + } + + addToSet(ALLOWED_TAGS, cfg.ADD_TAGS); + } + + if (cfg.ADD_ATTR) { + if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) { + ALLOWED_ATTR = clone(ALLOWED_ATTR); + } + + addToSet(ALLOWED_ATTR, cfg.ADD_ATTR); + } + + if (cfg.ADD_URI_SAFE_ATTR) { + addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR); + } + + /* Add #text in case KEEP_CONTENT is set to true */ + if (KEEP_CONTENT) { + ALLOWED_TAGS['#text'] = true; + } + + /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */ + if (WHOLE_DOCUMENT) { + addToSet(ALLOWED_TAGS, ['html', 'head', 'body']); + } + + /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */ + if (ALLOWED_TAGS.table) { + addToSet(ALLOWED_TAGS, ['tbody']); + delete FORBID_TAGS.tbody; + } + + // Prevent further manipulation of configuration. + // Not available in IE8, Safari 5, etc. + if (freeze) { + freeze(cfg); + } + + CONFIG = cfg; + }; + + var MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']); + + var HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']); + + /* Keep track of all possible SVG and MathML tags + * so that we can perform the namespace checks + * correctly. */ + var ALL_SVG_TAGS = addToSet({}, svg); + addToSet(ALL_SVG_TAGS, svgFilters); + addToSet(ALL_SVG_TAGS, svgDisallowed); + + var ALL_MATHML_TAGS = addToSet({}, mathMl); + addToSet(ALL_MATHML_TAGS, mathMlDisallowed); + + /** + * + * + * @param {Element} element a DOM element whose namespace is being checked + * @returns {boolean} Return false if the element has a + * namespace that a spec-compliant parser would never + * return. Return true otherwise. + */ + var _checkValidNamespace = function _checkValidNamespace(element) { + var parent = getParentNode(element); + + // In JSDOM, if we're inside shadow DOM, then parentNode + // can be null. We just simulate parent in this case. + if (!parent || !parent.tagName) { + parent = { + namespaceURI: HTML_NAMESPACE, + tagName: 'template' + }; + } + + var tagName = stringToLowerCase(element.tagName); + var parentTagName = stringToLowerCase(parent.tagName); + + if (element.namespaceURI === SVG_NAMESPACE) { + // The only way to switch from HTML namespace to SVG + // is via . If it happens via any other tag, then + // it should be killed. + if (parent.namespaceURI === HTML_NAMESPACE) { + return tagName === 'svg'; + } + + // The only way to switch from MathML to SVG is via + // svg if parent is either or MathML + // text integration points. + if (parent.namespaceURI === MATHML_NAMESPACE) { + return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]); + } + + // We only allow elements that are defined in SVG + // spec. All others are disallowed in SVG namespace. + return Boolean(ALL_SVG_TAGS[tagName]); + } + + if (element.namespaceURI === MATHML_NAMESPACE) { + // The only way to switch from HTML namespace to MathML + // is via . If it happens via any other tag, then + // it should be killed. + if (parent.namespaceURI === HTML_NAMESPACE) { + return tagName === 'math'; + } + + // The only way to switch from SVG to MathML is via + // and HTML integration points + if (parent.namespaceURI === SVG_NAMESPACE) { + return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName]; + } + + // We only allow elements that are defined in MathML + // spec. All others are disallowed in MathML namespace. + return Boolean(ALL_MATHML_TAGS[tagName]); + } + + if (element.namespaceURI === HTML_NAMESPACE) { + // The only way to switch from SVG to HTML is via + // HTML integration points, and from MathML to HTML + // is via MathML text integration points + if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) { + return false; + } + + if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) { + return false; + } + + // Certain elements are allowed in both SVG and HTML + // namespace. We need to specify them explicitly + // so that they don't get erronously deleted from + // HTML namespace. + var commonSvgAndHTMLElements = addToSet({}, ['title', 'style', 'font', 'a', 'script']); + + // We disallow tags that are specific for MathML + // or SVG and should never appear in HTML namespace + return !ALL_MATHML_TAGS[tagName] && (commonSvgAndHTMLElements[tagName] || !ALL_SVG_TAGS[tagName]); + } + + // The code should never reach this place (this means + // that the element somehow got namespace that is not + // HTML, SVG or MathML). Return false just in case. + return false; + }; + + /** + * _forceRemove + * + * @param {Node} node a DOM node + */ + var _forceRemove = function _forceRemove(node) { + arrayPush(DOMPurify.removed, { element: node }); + try { + // eslint-disable-next-line unicorn/prefer-dom-node-remove + node.parentNode.removeChild(node); + } catch (_) { + try { + node.outerHTML = emptyHTML; + } catch (_) { + node.remove(); + } + } + }; + + /** + * _removeAttribute + * + * @param {String} name an Attribute name + * @param {Node} node a DOM node + */ + var _removeAttribute = function _removeAttribute(name, node) { + try { + arrayPush(DOMPurify.removed, { + attribute: node.getAttributeNode(name), + from: node + }); + } catch (_) { + arrayPush(DOMPurify.removed, { + attribute: null, + from: node + }); + } + + node.removeAttribute(name); + + // We void attribute values for unremovable "is"" attributes + if (name === 'is' && !ALLOWED_ATTR[name]) { + if (RETURN_DOM || RETURN_DOM_FRAGMENT) { + try { + _forceRemove(node); + } catch (_) {} + } else { + try { + node.setAttribute(name, ''); + } catch (_) {} + } + } + }; + + /** + * _initDocument + * + * @param {String} dirty a string of dirty markup + * @return {Document} a DOM, filled with the dirty markup + */ + var _initDocument = function _initDocument(dirty) { + /* Create a HTML document */ + var doc = void 0; + var leadingWhitespace = void 0; + + if (FORCE_BODY) { + dirty = '' + dirty; + } else { + /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */ + var matches = stringMatch(dirty, /^[\r\n\t ]+/); + leadingWhitespace = matches && matches[0]; + } + + var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty; + /* + * Use the DOMParser API by default, fallback later if needs be + * DOMParser not work for svg when has multiple root element. + */ + if (NAMESPACE === HTML_NAMESPACE) { + try { + doc = new DOMParser().parseFromString(dirtyPayload, 'text/html'); + } catch (_) {} + } + + /* Use createHTMLDocument in case DOMParser is not available */ + if (!doc || !doc.documentElement) { + doc = implementation.createDocument(NAMESPACE, 'template', null); + try { + doc.documentElement.innerHTML = IS_EMPTY_INPUT ? '' : dirtyPayload; + } catch (_) { + // Syntax error if dirtyPayload is invalid xml + } + } + + var body = doc.body || doc.documentElement; + + if (dirty && leadingWhitespace) { + body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null); + } + + /* Work on whole document or just its body */ + if (NAMESPACE === HTML_NAMESPACE) { + return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0]; + } + + return WHOLE_DOCUMENT ? doc.documentElement : body; + }; + + /** + * _createIterator + * + * @param {Document} root document/fragment to create iterator for + * @return {Iterator} iterator instance + */ + var _createIterator = function _createIterator(root) { + return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false); + }; + + /** + * _isClobbered + * + * @param {Node} elm element to check for clobbering attacks + * @return {Boolean} true if clobbered, false if safe + */ + var _isClobbered = function _isClobbered(elm) { + if (elm instanceof Text || elm instanceof Comment) { + return false; + } + + if (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function') { + return true; + } + + return false; + }; + + /** + * _isNode + * + * @param {Node} obj object to check whether it's a DOM node + * @return {Boolean} true is object is a DOM node + */ + var _isNode = function _isNode(object) { + return (typeof Node === 'undefined' ? 'undefined' : _typeof(Node)) === 'object' ? object instanceof Node : object && (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'; + }; + + /** + * _executeHook + * Execute user configurable hooks + * + * @param {String} entryPoint Name of the hook's entry point + * @param {Node} currentNode node to work on with the hook + * @param {Object} data additional hook parameters + */ + var _executeHook = function _executeHook(entryPoint, currentNode, data) { + if (!hooks[entryPoint]) { + return; + } + + arrayForEach(hooks[entryPoint], function (hook) { + hook.call(DOMPurify, currentNode, data, CONFIG); + }); + }; + + /** + * _sanitizeElements + * + * @protect nodeName + * @protect textContent + * @protect removeChild + * + * @param {Node} currentNode to check for permission to exist + * @return {Boolean} true if node was killed, false if left alive + */ + var _sanitizeElements = function _sanitizeElements(currentNode) { + var content = void 0; + + /* Execute a hook if present */ + _executeHook('beforeSanitizeElements', currentNode, null); + + /* Check if element is clobbered or can clobber */ + if (_isClobbered(currentNode)) { + _forceRemove(currentNode); + return true; + } + + /* Check if tagname contains Unicode */ + if (stringMatch(currentNode.nodeName, /[\u0080-\uFFFF]/)) { + _forceRemove(currentNode); + return true; + } + + /* Now let's check the element's type and name */ + var tagName = stringToLowerCase(currentNode.nodeName); + + /* Execute a hook if present */ + _executeHook('uponSanitizeElement', currentNode, { + tagName: tagName, + allowedTags: ALLOWED_TAGS + }); + + /* Detect mXSS attempts abusing namespace confusion */ + if (!_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\w]/g, currentNode.innerHTML) && regExpTest(/<[/\w]/g, currentNode.textContent)) { + _forceRemove(currentNode); + return true; + } + + /* Remove element if anything forbids its presence */ + if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) { + /* Keep content except for bad-listed elements */ + if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) { + var parentNode = getParentNode(currentNode) || currentNode.parentNode; + var childNodes = getChildNodes(currentNode) || currentNode.childNodes; + + if (childNodes && parentNode) { + var childCount = childNodes.length; + + for (var i = childCount - 1; i >= 0; --i) { + parentNode.insertBefore(cloneNode(childNodes[i], true), getNextSibling(currentNode)); + } + } + } + + _forceRemove(currentNode); + return true; + } + + /* Check whether element has a valid namespace */ + if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) { + _forceRemove(currentNode); + return true; + } + + if ((tagName === 'noscript' || tagName === 'noembed') && regExpTest(/<\/no(script|embed)/i, currentNode.innerHTML)) { + _forceRemove(currentNode); + return true; + } + + /* Sanitize element content to be template-safe */ + if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) { + /* Get the element's text content */ + content = currentNode.textContent; + content = stringReplace(content, MUSTACHE_EXPR$$1, ' '); + content = stringReplace(content, ERB_EXPR$$1, ' '); + if (currentNode.textContent !== content) { + arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() }); + currentNode.textContent = content; + } + } + + /* Execute a hook if present */ + _executeHook('afterSanitizeElements', currentNode, null); + + return false; + }; + + /** + * _isValidAttribute + * + * @param {string} lcTag Lowercase tag name of containing element. + * @param {string} lcName Lowercase attribute name. + * @param {string} value Attribute value. + * @return {Boolean} Returns true if `value` is valid, otherwise false. + */ + // eslint-disable-next-line complexity + var _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) { + /* Make sure attribute cannot clobber */ + if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) { + return false; + } + + /* Allow valid data-* attributes: At least one character after "-" + (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes) + XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804) + We don't need to check the value; it's always URI safe. */ + if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR$$1, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$$1, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) { + return false; + + /* Check value is safe. First, is attr inert? If so, is safe */ + } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$$1, stringReplace(value, ATTR_WHITESPACE$$1, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$$1, stringReplace(value, ATTR_WHITESPACE$$1, ''))) ; else if (!value) ; else { + return false; + } + + return true; + }; + + /** + * _sanitizeAttributes + * + * @protect attributes + * @protect nodeName + * @protect removeAttribute + * @protect setAttribute + * + * @param {Node} currentNode to sanitize + */ + var _sanitizeAttributes = function _sanitizeAttributes(currentNode) { + var attr = void 0; + var value = void 0; + var lcName = void 0; + var l = void 0; + /* Execute a hook if present */ + _executeHook('beforeSanitizeAttributes', currentNode, null); + + var attributes = currentNode.attributes; + + /* Check if we have attributes; if not we might have a text node */ + + if (!attributes) { + return; + } + + var hookEvent = { + attrName: '', + attrValue: '', + keepAttr: true, + allowedAttributes: ALLOWED_ATTR + }; + l = attributes.length; + + /* Go backwards over all attributes; safely remove bad ones */ + while (l--) { + attr = attributes[l]; + var _attr = attr, + name = _attr.name, + namespaceURI = _attr.namespaceURI; + + value = stringTrim(attr.value); + lcName = stringToLowerCase(name); + + /* Execute a hook if present */ + hookEvent.attrName = lcName; + hookEvent.attrValue = value; + hookEvent.keepAttr = true; + hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set + _executeHook('uponSanitizeAttribute', currentNode, hookEvent); + value = hookEvent.attrValue; + /* Did the hooks approve of the attribute? */ + if (hookEvent.forceKeepAttr) { + continue; + } + + /* Remove attribute */ + _removeAttribute(name, currentNode); + + /* Did the hooks approve of the attribute? */ + if (!hookEvent.keepAttr) { + continue; + } + + /* Work around a security issue in jQuery 3.0 */ + if (regExpTest(/\/>/i, value)) { + _removeAttribute(name, currentNode); + continue; + } + + /* Sanitize attribute content to be template-safe */ + if (SAFE_FOR_TEMPLATES) { + value = stringReplace(value, MUSTACHE_EXPR$$1, ' '); + value = stringReplace(value, ERB_EXPR$$1, ' '); + } + + /* Is `value` valid for this attribute? */ + var lcTag = currentNode.nodeName.toLowerCase(); + if (!_isValidAttribute(lcTag, lcName, value)) { + continue; + } + + /* Handle invalid data-* attribute set by try-catching it */ + try { + if (namespaceURI) { + currentNode.setAttributeNS(namespaceURI, name, value); + } else { + /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. "x-schema". */ + currentNode.setAttribute(name, value); + } + + arrayPop(DOMPurify.removed); + } catch (_) {} + } + + /* Execute a hook if present */ + _executeHook('afterSanitizeAttributes', currentNode, null); + }; + + /** + * _sanitizeShadowDOM + * + * @param {DocumentFragment} fragment to iterate over recursively + */ + var _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) { + var shadowNode = void 0; + var shadowIterator = _createIterator(fragment); + + /* Execute a hook if present */ + _executeHook('beforeSanitizeShadowDOM', fragment, null); + + while (shadowNode = shadowIterator.nextNode()) { + /* Execute a hook if present */ + _executeHook('uponSanitizeShadowNode', shadowNode, null); + + /* Sanitize tags and elements */ + if (_sanitizeElements(shadowNode)) { + continue; + } + + /* Deep shadow DOM detected */ + if (shadowNode.content instanceof DocumentFragment) { + _sanitizeShadowDOM(shadowNode.content); + } + + /* Check attributes, sanitize if necessary */ + _sanitizeAttributes(shadowNode); + } + + /* Execute a hook if present */ + _executeHook('afterSanitizeShadowDOM', fragment, null); + }; + + /** + * Sanitize + * Public method providing core sanitation functionality + * + * @param {String|Node} dirty string or DOM node + * @param {Object} configuration object + */ + // eslint-disable-next-line complexity + DOMPurify.sanitize = function (dirty, cfg) { + var body = void 0; + var importedNode = void 0; + var currentNode = void 0; + var oldNode = void 0; + var returnNode = void 0; + /* Make sure we have a string to sanitize. + DO NOT return early, as this will return the wrong type if + the user has requested a DOM object rather than a string */ + IS_EMPTY_INPUT = !dirty; + if (IS_EMPTY_INPUT) { + dirty = ''; + } + + /* Stringify, in case dirty is an object */ + if (typeof dirty !== 'string' && !_isNode(dirty)) { + // eslint-disable-next-line no-negated-condition + if (typeof dirty.toString !== 'function') { + throw typeErrorCreate('toString is not a function'); + } else { + dirty = dirty.toString(); + if (typeof dirty !== 'string') { + throw typeErrorCreate('dirty is not a string, aborting'); + } + } + } + + /* Check we can run. Otherwise fall back or ignore */ + if (!DOMPurify.isSupported) { + if (_typeof(window.toStaticHTML) === 'object' || typeof window.toStaticHTML === 'function') { + if (typeof dirty === 'string') { + return window.toStaticHTML(dirty); + } + + if (_isNode(dirty)) { + return window.toStaticHTML(dirty.outerHTML); + } + } + + return dirty; + } + + /* Assign config vars */ + if (!SET_CONFIG) { + _parseConfig(cfg); + } + + /* Clean up removed elements */ + DOMPurify.removed = []; + + /* Check if dirty is correctly typed for IN_PLACE */ + if (typeof dirty === 'string') { + IN_PLACE = false; + } + + if (IN_PLACE) ; else if (dirty instanceof Node) { + /* If dirty is a DOM element, append to an empty document to avoid + elements being stripped by the parser */ + body = _initDocument(''); + importedNode = body.ownerDocument.importNode(dirty, true); + if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') { + /* Node is already a body, use as is */ + body = importedNode; + } else if (importedNode.nodeName === 'HTML') { + body = importedNode; + } else { + // eslint-disable-next-line unicorn/prefer-dom-node-append + body.appendChild(importedNode); + } + } else { + /* Exit directly if we have nothing to do */ + if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && + // eslint-disable-next-line unicorn/prefer-includes + dirty.indexOf('<') === -1) { + return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty; + } + + /* Initialize the document to work on */ + body = _initDocument(dirty); + + /* Check we have a DOM node from the data */ + if (!body) { + return RETURN_DOM ? null : emptyHTML; + } + } + + /* Remove first element node (ours) if FORCE_BODY is set */ + if (body && FORCE_BODY) { + _forceRemove(body.firstChild); + } + + /* Get node iterator */ + var nodeIterator = _createIterator(IN_PLACE ? dirty : body); + + /* Now start iterating over the created document */ + while (currentNode = nodeIterator.nextNode()) { + /* Fix IE's strange behavior with manipulated textNodes #89 */ + if (currentNode.nodeType === 3 && currentNode === oldNode) { + continue; + } + + /* Sanitize tags and elements */ + if (_sanitizeElements(currentNode)) { + continue; + } + + /* Shadow DOM detected, sanitize it */ + if (currentNode.content instanceof DocumentFragment) { + _sanitizeShadowDOM(currentNode.content); + } + + /* Check attributes, sanitize if necessary */ + _sanitizeAttributes(currentNode); + + oldNode = currentNode; + } + + oldNode = null; + + /* If we sanitized `dirty` in-place, return it. */ + if (IN_PLACE) { + return dirty; + } + + /* Return sanitized string or DOM */ + if (RETURN_DOM) { + if (RETURN_DOM_FRAGMENT) { + returnNode = createDocumentFragment.call(body.ownerDocument); + + while (body.firstChild) { + // eslint-disable-next-line unicorn/prefer-dom-node-append + returnNode.appendChild(body.firstChild); + } + } else { + returnNode = body; + } + + if (RETURN_DOM_IMPORT) { + /* + AdoptNode() is not used because internal state is not reset + (e.g. the past names map of a HTMLFormElement), this is safe + in theory but we would rather not risk another attack vector. + The state that is cloned by importNode() is explicitly defined + by the specs. + */ + returnNode = importNode.call(originalDocument, returnNode, true); + } + + return returnNode; + } + + var serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML; + + /* Sanitize final string template-safe */ + if (SAFE_FOR_TEMPLATES) { + serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR$$1, ' '); + serializedHTML = stringReplace(serializedHTML, ERB_EXPR$$1, ' '); + } + + return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML; + }; + + /** + * Public method to set the configuration once + * setConfig + * + * @param {Object} cfg configuration object + */ + DOMPurify.setConfig = function (cfg) { + _parseConfig(cfg); + SET_CONFIG = true; + }; + + /** + * Public method to remove the configuration + * clearConfig + * + */ + DOMPurify.clearConfig = function () { + CONFIG = null; + SET_CONFIG = false; + }; + + /** + * Public method to check if an attribute value is valid. + * Uses last set config, if any. Otherwise, uses config defaults. + * isValidAttribute + * + * @param {string} tag Tag name of containing element. + * @param {string} attr Attribute name. + * @param {string} value Attribute value. + * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false. + */ + DOMPurify.isValidAttribute = function (tag, attr, value) { + /* Initialize shared config vars if necessary. */ + if (!CONFIG) { + _parseConfig({}); + } + + var lcTag = stringToLowerCase(tag); + var lcName = stringToLowerCase(attr); + return _isValidAttribute(lcTag, lcName, value); + }; + + /** + * AddHook + * Public method to add DOMPurify hooks + * + * @param {String} entryPoint entry point for the hook to add + * @param {Function} hookFunction function to execute + */ + DOMPurify.addHook = function (entryPoint, hookFunction) { + if (typeof hookFunction !== 'function') { + return; + } + + hooks[entryPoint] = hooks[entryPoint] || []; + arrayPush(hooks[entryPoint], hookFunction); + }; + + /** + * RemoveHook + * Public method to remove a DOMPurify hook at a given entryPoint + * (pops it from the stack of hooks if more are present) + * + * @param {String} entryPoint entry point for the hook to remove + */ + DOMPurify.removeHook = function (entryPoint) { + if (hooks[entryPoint]) { + arrayPop(hooks[entryPoint]); + } + }; + + /** + * RemoveHooks + * Public method to remove all DOMPurify hooks at a given entryPoint + * + * @param {String} entryPoint entry point for the hooks to remove + */ + DOMPurify.removeHooks = function (entryPoint) { + if (hooks[entryPoint]) { + hooks[entryPoint] = []; + } + }; + + /** + * RemoveAllHooks + * Public method to remove all DOMPurify hooks + * + */ + DOMPurify.removeAllHooks = function () { + hooks = {}; + }; + + return DOMPurify; + } + + var purify = createDOMPurify(); + + return purify; + +})); +//# sourceMappingURL=purify.js.map + + +/***/ }), + +/***/ "./node_modules/es6-promise/dist/es6-promise.js": +/*!******************************************************!*\ + !*** ./node_modules/es6-promise/dist/es6-promise.js ***! + \******************************************************/ +/***/ (function(module) { + +/*! + * @overview es6-promise - a tiny implementation of Promises/A+. + * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) + * @license Licensed under MIT license + * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE + * @version v4.2.8+1e68dce6 + */ + +(function (global, factory) { + true ? module.exports = factory() : + 0; +}(this, (function () { 'use strict'; + +function objectOrFunction(x) { + var type = typeof x; + return x !== null && (type === 'object' || type === 'function'); +} + +function isFunction(x) { + return typeof x === 'function'; +} + + + +var _isArray = void 0; +if (Array.isArray) { + _isArray = Array.isArray; +} else { + _isArray = function (x) { + return Object.prototype.toString.call(x) === '[object Array]'; + }; +} + +var isArray = _isArray; + +var len = 0; +var vertxNext = void 0; +var customSchedulerFn = void 0; + +var asap = function asap(callback, arg) { + queue[len] = callback; + queue[len + 1] = arg; + len += 2; + if (len === 2) { + // If len is 2, that means that we need to schedule an async flush. + // If additional callbacks are queued before the queue is flushed, they + // will be processed by this flush that we are scheduling. + if (customSchedulerFn) { + customSchedulerFn(flush); + } else { + scheduleFlush(); + } + } +}; + +function setScheduler(scheduleFn) { + customSchedulerFn = scheduleFn; +} + +function setAsap(asapFn) { + asap = asapFn; +} + +var browserWindow = typeof window !== 'undefined' ? window : undefined; +var browserGlobal = browserWindow || {}; +var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver; +var isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]'; + +// test for web worker but not in IE10 +var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined'; + +// node +function useNextTick() { + // node version 0.10.x displays a deprecation warning when nextTick is used recursively + // see https://github.com/cujojs/when/issues/410 for details + return function () { + return process.nextTick(flush); + }; +} + +// vertx +function useVertxTimer() { + if (typeof vertxNext !== 'undefined') { + return function () { + vertxNext(flush); + }; + } + + return useSetTimeout(); +} + +function useMutationObserver() { + var iterations = 0; + var observer = new BrowserMutationObserver(flush); + var node = document.createTextNode(''); + observer.observe(node, { characterData: true }); + + return function () { + node.data = iterations = ++iterations % 2; + }; +} + +// web worker +function useMessageChannel() { + var channel = new MessageChannel(); + channel.port1.onmessage = flush; + return function () { + return channel.port2.postMessage(0); + }; +} + +function useSetTimeout() { + // Store setTimeout reference so es6-promise will be unaffected by + // other code modifying setTimeout (like sinon.useFakeTimers()) + var globalSetTimeout = setTimeout; + return function () { + return globalSetTimeout(flush, 1); + }; +} + +var queue = new Array(1000); +function flush() { + for (var i = 0; i < len; i += 2) { + var callback = queue[i]; + var arg = queue[i + 1]; + + callback(arg); + + queue[i] = undefined; + queue[i + 1] = undefined; + } + + len = 0; +} + +function attemptVertx() { + try { + var vertx = Function('return this')().require('vertx'); + vertxNext = vertx.runOnLoop || vertx.runOnContext; + return useVertxTimer(); + } catch (e) { + return useSetTimeout(); + } +} + +var scheduleFlush = void 0; +// Decide what async method to use to triggering processing of queued callbacks: +if (isNode) { + scheduleFlush = useNextTick(); +} else if (BrowserMutationObserver) { + scheduleFlush = useMutationObserver(); +} else if (isWorker) { + scheduleFlush = useMessageChannel(); +} else if (browserWindow === undefined && "function" === 'function') { + scheduleFlush = attemptVertx(); +} else { + scheduleFlush = useSetTimeout(); +} + +function then(onFulfillment, onRejection) { + var parent = this; + + var child = new this.constructor(noop); + + if (child[PROMISE_ID] === undefined) { + makePromise(child); + } + + var _state = parent._state; + + + if (_state) { + var callback = arguments[_state - 1]; + asap(function () { + return invokeCallback(_state, child, callback, parent._result); + }); + } else { + subscribe(parent, child, onFulfillment, onRejection); + } + + return child; +} + +/** + `Promise.resolve` returns a promise that will become resolved with the + passed `value`. It is shorthand for the following: + + ```javascript + let promise = new Promise(function(resolve, reject){ + resolve(1); + }); + + promise.then(function(value){ + // value === 1 + }); + ``` + + Instead of writing the above, your code now simply becomes the following: + + ```javascript + let promise = Promise.resolve(1); + + promise.then(function(value){ + // value === 1 + }); + ``` + + @method resolve + @static + @param {Any} value value that the returned promise will be resolved with + Useful for tooling. + @return {Promise} a promise that will become fulfilled with the given + `value` +*/ +function resolve$1(object) { + /*jshint validthis:true */ + var Constructor = this; + + if (object && typeof object === 'object' && object.constructor === Constructor) { + return object; + } + + var promise = new Constructor(noop); + resolve(promise, object); + return promise; +} + +var PROMISE_ID = Math.random().toString(36).substring(2); + +function noop() {} + +var PENDING = void 0; +var FULFILLED = 1; +var REJECTED = 2; + +function selfFulfillment() { + return new TypeError("You cannot resolve a promise with itself"); +} + +function cannotReturnOwn() { + return new TypeError('A promises callback cannot return that same promise.'); +} + +function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) { + try { + then$$1.call(value, fulfillmentHandler, rejectionHandler); + } catch (e) { + return e; + } +} + +function handleForeignThenable(promise, thenable, then$$1) { + asap(function (promise) { + var sealed = false; + var error = tryThen(then$$1, thenable, function (value) { + if (sealed) { + return; + } + sealed = true; + if (thenable !== value) { + resolve(promise, value); + } else { + fulfill(promise, value); + } + }, function (reason) { + if (sealed) { + return; + } + sealed = true; + + reject(promise, reason); + }, 'Settle: ' + (promise._label || ' unknown promise')); + + if (!sealed && error) { + sealed = true; + reject(promise, error); + } + }, promise); +} + +function handleOwnThenable(promise, thenable) { + if (thenable._state === FULFILLED) { + fulfill(promise, thenable._result); + } else if (thenable._state === REJECTED) { + reject(promise, thenable._result); + } else { + subscribe(thenable, undefined, function (value) { + return resolve(promise, value); + }, function (reason) { + return reject(promise, reason); + }); + } +} + +function handleMaybeThenable(promise, maybeThenable, then$$1) { + if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) { + handleOwnThenable(promise, maybeThenable); + } else { + if (then$$1 === undefined) { + fulfill(promise, maybeThenable); + } else if (isFunction(then$$1)) { + handleForeignThenable(promise, maybeThenable, then$$1); + } else { + fulfill(promise, maybeThenable); + } + } +} + +function resolve(promise, value) { + if (promise === value) { + reject(promise, selfFulfillment()); + } else if (objectOrFunction(value)) { + var then$$1 = void 0; + try { + then$$1 = value.then; + } catch (error) { + reject(promise, error); + return; + } + handleMaybeThenable(promise, value, then$$1); + } else { + fulfill(promise, value); + } +} + +function publishRejection(promise) { + if (promise._onerror) { + promise._onerror(promise._result); + } + + publish(promise); +} + +function fulfill(promise, value) { + if (promise._state !== PENDING) { + return; + } + + promise._result = value; + promise._state = FULFILLED; + + if (promise._subscribers.length !== 0) { + asap(publish, promise); + } +} + +function reject(promise, reason) { + if (promise._state !== PENDING) { + return; + } + promise._state = REJECTED; + promise._result = reason; + + asap(publishRejection, promise); +} + +function subscribe(parent, child, onFulfillment, onRejection) { + var _subscribers = parent._subscribers; + var length = _subscribers.length; + + + parent._onerror = null; + + _subscribers[length] = child; + _subscribers[length + FULFILLED] = onFulfillment; + _subscribers[length + REJECTED] = onRejection; + + if (length === 0 && parent._state) { + asap(publish, parent); + } +} + +function publish(promise) { + var subscribers = promise._subscribers; + var settled = promise._state; + + if (subscribers.length === 0) { + return; + } + + var child = void 0, + callback = void 0, + detail = promise._result; + + for (var i = 0; i < subscribers.length; i += 3) { + child = subscribers[i]; + callback = subscribers[i + settled]; + + if (child) { + invokeCallback(settled, child, callback, detail); + } else { + callback(detail); + } + } + + promise._subscribers.length = 0; +} + +function invokeCallback(settled, promise, callback, detail) { + var hasCallback = isFunction(callback), + value = void 0, + error = void 0, + succeeded = true; + + if (hasCallback) { + try { + value = callback(detail); + } catch (e) { + succeeded = false; + error = e; + } + + if (promise === value) { + reject(promise, cannotReturnOwn()); + return; + } + } else { + value = detail; + } + + if (promise._state !== PENDING) { + // noop + } else if (hasCallback && succeeded) { + resolve(promise, value); + } else if (succeeded === false) { + reject(promise, error); + } else if (settled === FULFILLED) { + fulfill(promise, value); + } else if (settled === REJECTED) { + reject(promise, value); + } +} + +function initializePromise(promise, resolver) { + try { + resolver(function resolvePromise(value) { + resolve(promise, value); + }, function rejectPromise(reason) { + reject(promise, reason); + }); + } catch (e) { + reject(promise, e); + } +} + +var id = 0; +function nextId() { + return id++; +} + +function makePromise(promise) { + promise[PROMISE_ID] = id++; + promise._state = undefined; + promise._result = undefined; + promise._subscribers = []; +} + +function validationError() { + return new Error('Array Methods must be provided an Array'); +} + +var Enumerator = function () { + function Enumerator(Constructor, input) { + this._instanceConstructor = Constructor; + this.promise = new Constructor(noop); + + if (!this.promise[PROMISE_ID]) { + makePromise(this.promise); + } + + if (isArray(input)) { + this.length = input.length; + this._remaining = input.length; + + this._result = new Array(this.length); + + if (this.length === 0) { + fulfill(this.promise, this._result); + } else { + this.length = this.length || 0; + this._enumerate(input); + if (this._remaining === 0) { + fulfill(this.promise, this._result); + } + } + } else { + reject(this.promise, validationError()); + } + } + + Enumerator.prototype._enumerate = function _enumerate(input) { + for (var i = 0; this._state === PENDING && i < input.length; i++) { + this._eachEntry(input[i], i); + } + }; + + Enumerator.prototype._eachEntry = function _eachEntry(entry, i) { + var c = this._instanceConstructor; + var resolve$$1 = c.resolve; + + + if (resolve$$1 === resolve$1) { + var _then = void 0; + var error = void 0; + var didError = false; + try { + _then = entry.then; + } catch (e) { + didError = true; + error = e; + } + + if (_then === then && entry._state !== PENDING) { + this._settledAt(entry._state, i, entry._result); + } else if (typeof _then !== 'function') { + this._remaining--; + this._result[i] = entry; + } else if (c === Promise$1) { + var promise = new c(noop); + if (didError) { + reject(promise, error); + } else { + handleMaybeThenable(promise, entry, _then); + } + this._willSettleAt(promise, i); + } else { + this._willSettleAt(new c(function (resolve$$1) { + return resolve$$1(entry); + }), i); + } + } else { + this._willSettleAt(resolve$$1(entry), i); + } + }; + + Enumerator.prototype._settledAt = function _settledAt(state, i, value) { + var promise = this.promise; + + + if (promise._state === PENDING) { + this._remaining--; + + if (state === REJECTED) { + reject(promise, value); + } else { + this._result[i] = value; + } + } + + if (this._remaining === 0) { + fulfill(promise, this._result); + } + }; + + Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) { + var enumerator = this; + + subscribe(promise, undefined, function (value) { + return enumerator._settledAt(FULFILLED, i, value); + }, function (reason) { + return enumerator._settledAt(REJECTED, i, reason); + }); + }; + + return Enumerator; +}(); + +/** + `Promise.all` accepts an array of promises, and returns a new promise which + is fulfilled with an array of fulfillment values for the passed promises, or + rejected with the reason of the first passed promise to be rejected. It casts all + elements of the passed iterable to promises as it runs this algorithm. + + Example: + + ```javascript + let promise1 = resolve(1); + let promise2 = resolve(2); + let promise3 = resolve(3); + let promises = [ promise1, promise2, promise3 ]; + + Promise.all(promises).then(function(array){ + // The array here would be [ 1, 2, 3 ]; + }); + ``` + + If any of the `promises` given to `all` are rejected, the first promise + that is rejected will be given as an argument to the returned promises's + rejection handler. For example: + + Example: + + ```javascript + let promise1 = resolve(1); + let promise2 = reject(new Error("2")); + let promise3 = reject(new Error("3")); + let promises = [ promise1, promise2, promise3 ]; + + Promise.all(promises).then(function(array){ + // Code here never runs because there are rejected promises! + }, function(error) { + // error.message === "2" + }); + ``` + + @method all + @static + @param {Array} entries array of promises + @param {String} label optional string for labeling the promise. + Useful for tooling. + @return {Promise} promise that is fulfilled when all `promises` have been + fulfilled, or rejected if any of them become rejected. + @static +*/ +function all(entries) { + return new Enumerator(this, entries).promise; +} + +/** + `Promise.race` returns a new promise which is settled in the same way as the + first passed promise to settle. + + Example: + + ```javascript + let promise1 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 1'); + }, 200); + }); + + let promise2 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 2'); + }, 100); + }); + + Promise.race([promise1, promise2]).then(function(result){ + // result === 'promise 2' because it was resolved before promise1 + // was resolved. + }); + ``` + + `Promise.race` is deterministic in that only the state of the first + settled promise matters. For example, even if other promises given to the + `promises` array argument are resolved, but the first settled promise has + become rejected before the other promises became fulfilled, the returned + promise will become rejected: + + ```javascript + let promise1 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 1'); + }, 200); + }); + + let promise2 = new Promise(function(resolve, reject){ + setTimeout(function(){ + reject(new Error('promise 2')); + }, 100); + }); + + Promise.race([promise1, promise2]).then(function(result){ + // Code here never runs + }, function(reason){ + // reason.message === 'promise 2' because promise 2 became rejected before + // promise 1 became fulfilled + }); + ``` + + An example real-world use case is implementing timeouts: + + ```javascript + Promise.race([ajax('foo.json'), timeout(5000)]) + ``` + + @method race + @static + @param {Array} promises array of promises to observe + Useful for tooling. + @return {Promise} a promise which settles in the same way as the first passed + promise to settle. +*/ +function race(entries) { + /*jshint validthis:true */ + var Constructor = this; + + if (!isArray(entries)) { + return new Constructor(function (_, reject) { + return reject(new TypeError('You must pass an array to race.')); + }); + } else { + return new Constructor(function (resolve, reject) { + var length = entries.length; + for (var i = 0; i < length; i++) { + Constructor.resolve(entries[i]).then(resolve, reject); + } + }); + } +} + +/** + `Promise.reject` returns a promise rejected with the passed `reason`. + It is shorthand for the following: + + ```javascript + let promise = new Promise(function(resolve, reject){ + reject(new Error('WHOOPS')); + }); + + promise.then(function(value){ + // Code here doesn't run because the promise is rejected! + }, function(reason){ + // reason.message === 'WHOOPS' + }); + ``` + + Instead of writing the above, your code now simply becomes the following: + + ```javascript + let promise = Promise.reject(new Error('WHOOPS')); + + promise.then(function(value){ + // Code here doesn't run because the promise is rejected! + }, function(reason){ + // reason.message === 'WHOOPS' + }); + ``` + + @method reject + @static + @param {Any} reason value that the returned promise will be rejected with. + Useful for tooling. + @return {Promise} a promise rejected with the given `reason`. +*/ +function reject$1(reason) { + /*jshint validthis:true */ + var Constructor = this; + var promise = new Constructor(noop); + reject(promise, reason); + return promise; +} + +function needsResolver() { + throw new TypeError('You must pass a resolver function as the first argument to the promise constructor'); +} + +function needsNew() { + throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."); +} + +/** + Promise objects represent the eventual result of an asynchronous operation. The + primary way of interacting with a promise is through its `then` method, which + registers callbacks to receive either a promise's eventual value or the reason + why the promise cannot be fulfilled. + + Terminology + ----------- + + - `promise` is an object or function with a `then` method whose behavior conforms to this specification. + - `thenable` is an object or function that defines a `then` method. + - `value` is any legal JavaScript value (including undefined, a thenable, or a promise). + - `exception` is a value that is thrown using the throw statement. + - `reason` is a value that indicates why a promise was rejected. + - `settled` the final resting state of a promise, fulfilled or rejected. + + A promise can be in one of three states: pending, fulfilled, or rejected. + + Promises that are fulfilled have a fulfillment value and are in the fulfilled + state. Promises that are rejected have a rejection reason and are in the + rejected state. A fulfillment value is never a thenable. + + Promises can also be said to *resolve* a value. If this value is also a + promise, then the original promise's settled state will match the value's + settled state. So a promise that *resolves* a promise that rejects will + itself reject, and a promise that *resolves* a promise that fulfills will + itself fulfill. + + + Basic Usage: + ------------ + + ```js + let promise = new Promise(function(resolve, reject) { + // on success + resolve(value); + + // on failure + reject(reason); + }); + + promise.then(function(value) { + // on fulfillment + }, function(reason) { + // on rejection + }); + ``` + + Advanced Usage: + --------------- + + Promises shine when abstracting away asynchronous interactions such as + `XMLHttpRequest`s. + + ```js + function getJSON(url) { + return new Promise(function(resolve, reject){ + let xhr = new XMLHttpRequest(); + + xhr.open('GET', url); + xhr.onreadystatechange = handler; + xhr.responseType = 'json'; + xhr.setRequestHeader('Accept', 'application/json'); + xhr.send(); + + function handler() { + if (this.readyState === this.DONE) { + if (this.status === 200) { + resolve(this.response); + } else { + reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']')); + } + } + }; + }); + } + + getJSON('/posts.json').then(function(json) { + // on fulfillment + }, function(reason) { + // on rejection + }); + ``` + + Unlike callbacks, promises are great composable primitives. + + ```js + Promise.all([ + getJSON('/posts'), + getJSON('/comments') + ]).then(function(values){ + values[0] // => postsJSON + values[1] // => commentsJSON + + return values; + }); + ``` + + @class Promise + @param {Function} resolver + Useful for tooling. + @constructor +*/ + +var Promise$1 = function () { + function Promise(resolver) { + this[PROMISE_ID] = nextId(); + this._result = this._state = undefined; + this._subscribers = []; + + if (noop !== resolver) { + typeof resolver !== 'function' && needsResolver(); + this instanceof Promise ? initializePromise(this, resolver) : needsNew(); + } + } + + /** + The primary way of interacting with a promise is through its `then` method, + which registers callbacks to receive either a promise's eventual value or the + reason why the promise cannot be fulfilled. + ```js + findUser().then(function(user){ + // user is available + }, function(reason){ + // user is unavailable, and you are given the reason why + }); + ``` + Chaining + -------- + The return value of `then` is itself a promise. This second, 'downstream' + promise is resolved with the return value of the first promise's fulfillment + or rejection handler, or rejected if the handler throws an exception. + ```js + findUser().then(function (user) { + return user.name; + }, function (reason) { + return 'default name'; + }).then(function (userName) { + // If `findUser` fulfilled, `userName` will be the user's name, otherwise it + // will be `'default name'` + }); + findUser().then(function (user) { + throw new Error('Found user, but still unhappy'); + }, function (reason) { + throw new Error('`findUser` rejected and we're unhappy'); + }).then(function (value) { + // never reached + }, function (reason) { + // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'. + // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'. + }); + ``` + If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream. + ```js + findUser().then(function (user) { + throw new PedagogicalException('Upstream error'); + }).then(function (value) { + // never reached + }).then(function (value) { + // never reached + }, function (reason) { + // The `PedgagocialException` is propagated all the way down to here + }); + ``` + Assimilation + ------------ + Sometimes the value you want to propagate to a downstream promise can only be + retrieved asynchronously. This can be achieved by returning a promise in the + fulfillment or rejection handler. The downstream promise will then be pending + until the returned promise is settled. This is called *assimilation*. + ```js + findUser().then(function (user) { + return findCommentsByAuthor(user); + }).then(function (comments) { + // The user's comments are now available + }); + ``` + If the assimliated promise rejects, then the downstream promise will also reject. + ```js + findUser().then(function (user) { + return findCommentsByAuthor(user); + }).then(function (comments) { + // If `findCommentsByAuthor` fulfills, we'll have the value here + }, function (reason) { + // If `findCommentsByAuthor` rejects, we'll have the reason here + }); + ``` + Simple Example + -------------- + Synchronous Example + ```javascript + let result; + try { + result = findResult(); + // success + } catch(reason) { + // failure + } + ``` + Errback Example + ```js + findResult(function(result, err){ + if (err) { + // failure + } else { + // success + } + }); + ``` + Promise Example; + ```javascript + findResult().then(function(result){ + // success + }, function(reason){ + // failure + }); + ``` + Advanced Example + -------------- + Synchronous Example + ```javascript + let author, books; + try { + author = findAuthor(); + books = findBooksByAuthor(author); + // success + } catch(reason) { + // failure + } + ``` + Errback Example + ```js + function foundBooks(books) { + } + function failure(reason) { + } + findAuthor(function(author, err){ + if (err) { + failure(err); + // failure + } else { + try { + findBoooksByAuthor(author, function(books, err) { + if (err) { + failure(err); + } else { + try { + foundBooks(books); + } catch(reason) { + failure(reason); + } + } + }); + } catch(error) { + failure(err); + } + // success + } + }); + ``` + Promise Example; + ```javascript + findAuthor(). + then(findBooksByAuthor). + then(function(books){ + // found books + }).catch(function(reason){ + // something went wrong + }); + ``` + @method then + @param {Function} onFulfilled + @param {Function} onRejected + Useful for tooling. + @return {Promise} + */ + + /** + `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same + as the catch block of a try/catch statement. + ```js + function findAuthor(){ + throw new Error('couldn't find that author'); + } + // synchronous + try { + findAuthor(); + } catch(reason) { + // something went wrong + } + // async with promises + findAuthor().catch(function(reason){ + // something went wrong + }); + ``` + @method catch + @param {Function} onRejection + Useful for tooling. + @return {Promise} + */ + + + Promise.prototype.catch = function _catch(onRejection) { + return this.then(null, onRejection); + }; + + /** + `finally` will be invoked regardless of the promise's fate just as native + try/catch/finally behaves + + Synchronous example: + + ```js + findAuthor() { + if (Math.random() > 0.5) { + throw new Error(); + } + return new Author(); + } + + try { + return findAuthor(); // succeed or fail + } catch(error) { + return findOtherAuther(); + } finally { + // always runs + // doesn't affect the return value + } + ``` + + Asynchronous example: + + ```js + findAuthor().catch(function(reason){ + return findOtherAuther(); + }).finally(function(){ + // author was either found, or not + }); + ``` + + @method finally + @param {Function} callback + @return {Promise} + */ + + + Promise.prototype.finally = function _finally(callback) { + var promise = this; + var constructor = promise.constructor; + + if (isFunction(callback)) { + return promise.then(function (value) { + return constructor.resolve(callback()).then(function () { + return value; + }); + }, function (reason) { + return constructor.resolve(callback()).then(function () { + throw reason; + }); + }); + } + + return promise.then(callback, callback); + }; + + return Promise; +}(); + +Promise$1.prototype.then = then; +Promise$1.all = all; +Promise$1.race = race; +Promise$1.resolve = resolve$1; +Promise$1.reject = reject$1; +Promise$1._setScheduler = setScheduler; +Promise$1._setAsap = setAsap; +Promise$1._asap = asap; + +/*global self*/ +function polyfill() { + var local = void 0; + + if (typeof global !== 'undefined') { + local = global; + } else if (typeof self !== 'undefined') { + local = self; + } else { + try { + local = Function('return this')(); + } catch (e) { + throw new Error('polyfill failed because global object is unavailable in this environment'); + } + } + + var P = local.Promise; + + if (P) { + var promiseToString = null; + try { + promiseToString = Object.prototype.toString.call(P.resolve()); + } catch (e) { + // silently ignored + } + + if (promiseToString === '[object Promise]' && !P.cast) { + return; + } + } + + local.Promise = Promise$1; +} + +// Strange compat.. +Promise$1.polyfill = polyfill; +Promise$1.Promise = Promise$1; + +return Promise$1; + +}))); + + + +//# sourceMappingURL=es6-promise.map + + +/***/ }), + +/***/ "./node_modules/fflate/esm/browser.js": +/*!********************************************!*\ + !*** ./node_modules/fflate/esm/browser.js ***! + \********************************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "Deflate": function() { return /* binding */ Deflate; }, +/* harmony export */ "AsyncDeflate": function() { return /* binding */ AsyncDeflate; }, +/* harmony export */ "deflate": function() { return /* binding */ deflate; }, +/* harmony export */ "deflateSync": function() { return /* binding */ deflateSync; }, +/* harmony export */ "Inflate": function() { return /* binding */ Inflate; }, +/* harmony export */ "AsyncInflate": function() { return /* binding */ AsyncInflate; }, +/* harmony export */ "inflate": function() { return /* binding */ inflate; }, +/* harmony export */ "inflateSync": function() { return /* binding */ inflateSync; }, +/* harmony export */ "Gzip": function() { return /* binding */ Gzip; }, +/* harmony export */ "AsyncGzip": function() { return /* binding */ AsyncGzip; }, +/* harmony export */ "gzip": function() { return /* binding */ gzip; }, +/* harmony export */ "gzipSync": function() { return /* binding */ gzipSync; }, +/* harmony export */ "Gunzip": function() { return /* binding */ Gunzip; }, +/* harmony export */ "AsyncGunzip": function() { return /* binding */ AsyncGunzip; }, +/* harmony export */ "gunzip": function() { return /* binding */ gunzip; }, +/* harmony export */ "gunzipSync": function() { return /* binding */ gunzipSync; }, +/* harmony export */ "Zlib": function() { return /* binding */ Zlib; }, +/* harmony export */ "AsyncZlib": function() { return /* binding */ AsyncZlib; }, +/* harmony export */ "zlib": function() { return /* binding */ zlib; }, +/* harmony export */ "zlibSync": function() { return /* binding */ zlibSync; }, +/* harmony export */ "Unzlib": function() { return /* binding */ Unzlib; }, +/* harmony export */ "AsyncUnzlib": function() { return /* binding */ AsyncUnzlib; }, +/* harmony export */ "unzlib": function() { return /* binding */ unzlib; }, +/* harmony export */ "unzlibSync": function() { return /* binding */ unzlibSync; }, +/* harmony export */ "compress": function() { return /* binding */ gzip; }, +/* harmony export */ "AsyncCompress": function() { return /* binding */ AsyncGzip; }, +/* harmony export */ "compressSync": function() { return /* binding */ gzipSync; }, +/* harmony export */ "Compress": function() { return /* binding */ Gzip; }, +/* harmony export */ "Decompress": function() { return /* binding */ Decompress; }, +/* harmony export */ "AsyncDecompress": function() { return /* binding */ AsyncDecompress; }, +/* harmony export */ "decompress": function() { return /* binding */ decompress; }, +/* harmony export */ "decompressSync": function() { return /* binding */ decompressSync; }, +/* harmony export */ "strToU8": function() { return /* binding */ strToU8; }, +/* harmony export */ "strFromU8": function() { return /* binding */ strFromU8; }, +/* harmony export */ "zip": function() { return /* binding */ zip; }, +/* harmony export */ "zipSync": function() { return /* binding */ zipSync; }, +/* harmony export */ "unzip": function() { return /* binding */ unzip; }, +/* harmony export */ "unzipSync": function() { return /* binding */ unzipSync; } +/* harmony export */ }); +// DEFLATE is a complex format; to read this code, you should probably check the RFC first: +// https://tools.ietf.org/html/rfc1951 +// You may also wish to take a look at the guide I made about this program: +// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad +// Much of the following code is similar to that of UZIP.js: +// https://github.com/photopea/UZIP.js +// Many optimizations have been made, so the bundle size is ultimately smaller but performance is similar. +// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint +// is better for memory in most engines (I *think*). +var ch2 = {}; +var wk = (function (c, id, msg, transfer, cb) { + var u = ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([c], { type: 'text/javascript' }))); + var w = new Worker(u); + w.onerror = function (e) { return cb(e.error, null); }; + w.onmessage = function (e) { return cb(null, e.data); }; + w.postMessage(msg, transfer); + return w; +}); + +// aliases for shorter compressed code (most minifers don't do this) +var u8 = Uint8Array, u16 = Uint16Array, u32 = Uint32Array; +// fixed length extra bits +var fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]); +// fixed distance extra bits +// see fleb note +var fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]); +// code length index map +var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]); +// get base, reverse index map from extra bits +var freb = function (eb, start) { + var b = new u16(31); + for (var i = 0; i < 31; ++i) { + b[i] = start += 1 << eb[i - 1]; + } + // numbers here are at max 18 bits + var r = new u32(b[30]); + for (var i = 1; i < 30; ++i) { + for (var j = b[i]; j < b[i + 1]; ++j) { + r[j] = ((j - b[i]) << 5) | i; + } + } + return [b, r]; +}; +var _a = freb(fleb, 2), fl = _a[0], revfl = _a[1]; +// we can ignore the fact that the other numbers are wrong; they never happen anyway +fl[28] = 258, revfl[258] = 28; +var _b = freb(fdeb, 0), fd = _b[0], revfd = _b[1]; +// map of value to reverse (assuming 16 bits) +var rev = new u16(32768); +for (var i = 0; i < 32768; ++i) { + // reverse table algorithm from SO + var x = ((i & 0xAAAA) >>> 1) | ((i & 0x5555) << 1); + x = ((x & 0xCCCC) >>> 2) | ((x & 0x3333) << 2); + x = ((x & 0xF0F0) >>> 4) | ((x & 0x0F0F) << 4); + rev[i] = (((x & 0xFF00) >>> 8) | ((x & 0x00FF) << 8)) >>> 1; +} +// create huffman tree from u8 "map": index -> code length for code index +// mb (max bits) must be at most 15 +// TODO: optimize/split up? +var hMap = (function (cd, mb, r) { + var s = cd.length; + // index + var i = 0; + // u16 "map": index -> # of codes with bit length = index + var l = new u16(mb); + // length of cd must be 288 (total # of codes) + for (; i < s; ++i) + ++l[cd[i] - 1]; + // u16 "map": index -> minimum code for bit length = index + var le = new u16(mb); + for (i = 0; i < mb; ++i) { + le[i] = (le[i - 1] + l[i - 1]) << 1; + } + var co; + if (r) { + // u16 "map": index -> number of actual bits, symbol for code + co = new u16(1 << mb); + // bits to remove for reverser + var rvb = 15 - mb; + for (i = 0; i < s; ++i) { + // ignore 0 lengths + if (cd[i]) { + // num encoding both symbol and bits read + var sv = (i << 4) | cd[i]; + // free bits + var r_1 = mb - cd[i]; + // start value + var v = le[cd[i] - 1]++ << r_1; + // m is end value + for (var m = v | ((1 << r_1) - 1); v <= m; ++v) { + // every 16 bit value starting with the code yields the same result + co[rev[v] >>> rvb] = sv; + } + } + } + } + else { + co = new u16(s); + for (i = 0; i < s; ++i) + co[i] = rev[le[cd[i] - 1]++] >>> (15 - cd[i]); + } + return co; +}); +// fixed length tree +var flt = new u8(288); +for (var i = 0; i < 144; ++i) + flt[i] = 8; +for (var i = 144; i < 256; ++i) + flt[i] = 9; +for (var i = 256; i < 280; ++i) + flt[i] = 7; +for (var i = 280; i < 288; ++i) + flt[i] = 8; +// fixed distance tree +var fdt = new u8(32); +for (var i = 0; i < 32; ++i) + fdt[i] = 5; +// fixed length map +var flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1); +// fixed distance map +var fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1); +// find max of array +var max = function (a) { + var m = a[0]; + for (var i = 1; i < a.length; ++i) { + if (a[i] > m) + m = a[i]; + } + return m; +}; +// read d, starting at bit p and mask with m +var bits = function (d, p, m) { + var o = (p / 8) >> 0; + return ((d[o] | (d[o + 1] << 8)) >>> (p & 7)) & m; +}; +// read d, starting at bit p continuing for at least 16 bits +var bits16 = function (d, p) { + var o = (p / 8) >> 0; + return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >>> (p & 7)); +}; +// get end of byte +var shft = function (p) { return ((p / 8) >> 0) + (p & 7 && 1); }; +// typed array slice - allows garbage collector to free original reference, +// while being more compatible than .slice +var slc = function (v, s, e) { + if (s == null || s < 0) + s = 0; + if (e == null || e > v.length) + e = v.length; + // can't use .constructor in case user-supplied + var n = new (v instanceof u16 ? u16 : v instanceof u32 ? u32 : u8)(e - s); + n.set(v.subarray(s, e)); + return n; +}; +// expands raw DEFLATE data +var inflt = function (dat, buf, st) { + // source length + var sl = dat.length; + // have to estimate size + var noBuf = !buf || st; + // no state + var noSt = !st || st.i; + if (!st) + st = {}; + // Assumes roughly 33% compression ratio average + if (!buf) + buf = new u8(sl * 3); + // ensure buffer can fit at least l elements + var cbuf = function (l) { + var bl = buf.length; + // need to increase size to fit + if (l > bl) { + // Double or set to necessary, whichever is greater + var nbuf = new u8(Math.max(bl * 2, l)); + nbuf.set(buf); + buf = nbuf; + } + }; + // last chunk bitpos bytes + var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n; + // total bits + var tbts = sl * 8; + do { + if (!lm) { + // BFINAL - this is only 1 when last chunk is next + st.f = final = bits(dat, pos, 1); + // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman + var type = bits(dat, pos + 1, 3); + pos += 3; + if (!type) { + // go to end of byte boundary + var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l; + if (t > sl) { + if (noSt) + throw 'unexpected EOF'; + break; + } + // ensure size + if (noBuf) + cbuf(bt + l); + // Copy over uncompressed data + buf.set(dat.subarray(s, t), bt); + // Get new bitpos, update byte count + st.b = bt += l, st.p = pos = t * 8; + continue; + } + else if (type == 1) + lm = flrm, dm = fdrm, lbt = 9, dbt = 5; + else if (type == 2) { + // literal lengths + var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4; + var tl = hLit + bits(dat, pos + 5, 31) + 1; + pos += 14; + // length+distance tree + var ldt = new u8(tl); + // code length tree + var clt = new u8(19); + for (var i = 0; i < hcLen; ++i) { + // use index map to get real code + clt[clim[i]] = bits(dat, pos + i * 3, 7); + } + pos += hcLen * 3; + // code lengths bits + var clb = max(clt), clbmsk = (1 << clb) - 1; + if (!noSt && pos + tl * (clb + 7) > tbts) + break; + // code lengths map + var clm = hMap(clt, clb, 1); + for (var i = 0; i < tl;) { + var r = clm[bits(dat, pos, clbmsk)]; + // bits read + pos += r & 15; + // symbol + var s = r >>> 4; + // code length to copy + if (s < 16) { + ldt[i++] = s; + } + else { + // copy count + var c = 0, n = 0; + if (s == 16) + n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1]; + else if (s == 17) + n = 3 + bits(dat, pos, 7), pos += 3; + else if (s == 18) + n = 11 + bits(dat, pos, 127), pos += 7; + while (n--) + ldt[i++] = c; + } + } + // length tree distance tree + var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit); + // max length bits + lbt = max(lt); + // max dist bits + dbt = max(dt); + lm = hMap(lt, lbt, 1); + dm = hMap(dt, dbt, 1); + } + else + throw 'invalid block type'; + if (pos > tbts) + throw 'unexpected EOF'; + } + // Make sure the buffer can hold this + the largest possible addition + // Maximum chunk size (practically, theoretically infinite) is 2^17; + if (noBuf) + cbuf(bt + 131072); + var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1; + var mxa = lbt + dbt + 18; + while (noSt || pos + mxa < tbts) { + // bits read, code + var c = lm[bits16(dat, pos) & lms], sym = c >>> 4; + pos += c & 15; + if (pos > tbts) + throw 'unexpected EOF'; + if (!c) + throw 'invalid length/literal'; + if (sym < 256) + buf[bt++] = sym; + else if (sym == 256) { + lm = null; + break; + } + else { + var add = sym - 254; + // no extra bits needed if less + if (sym > 264) { + // index + var i = sym - 257, b = fleb[i]; + add = bits(dat, pos, (1 << b) - 1) + fl[i]; + pos += b; + } + // dist + var d = dm[bits16(dat, pos) & dms], dsym = d >>> 4; + if (!d) + throw 'invalid distance'; + pos += d & 15; + var dt = fd[dsym]; + if (dsym > 3) { + var b = fdeb[dsym]; + dt += bits16(dat, pos) & ((1 << b) - 1), pos += b; + } + if (pos > tbts) + throw 'unexpected EOF'; + if (noBuf) + cbuf(bt + 131072); + var end = bt + add; + for (; bt < end; bt += 4) { + buf[bt] = buf[bt - dt]; + buf[bt + 1] = buf[bt + 1 - dt]; + buf[bt + 2] = buf[bt + 2 - dt]; + buf[bt + 3] = buf[bt + 3 - dt]; + } + bt = end; + } + } + st.l = lm, st.p = pos, st.b = bt; + if (lm) + final = 1, st.m = lbt, st.d = dm, st.n = dbt; + } while (!final); + return bt == buf.length ? buf : slc(buf, 0, bt); +}; +// starting at p, write the minimum number of bits that can hold v to d +var wbits = function (d, p, v) { + v <<= p & 7; + var o = (p / 8) >> 0; + d[o] |= v; + d[o + 1] |= v >>> 8; +}; +// starting at p, write the minimum number of bits (>8) that can hold v to d +var wbits16 = function (d, p, v) { + v <<= p & 7; + var o = (p / 8) >> 0; + d[o] |= v; + d[o + 1] |= v >>> 8; + d[o + 2] |= v >>> 16; +}; +// creates code lengths from a frequency table +var hTree = function (d, mb) { + // Need extra info to make a tree + var t = []; + for (var i = 0; i < d.length; ++i) { + if (d[i]) + t.push({ s: i, f: d[i] }); + } + var s = t.length; + var t2 = t.slice(); + if (!s) + return [new u8(0), 0]; + if (s == 1) { + var v = new u8(t[0].s + 1); + v[t[0].s] = 1; + return [v, 1]; + } + t.sort(function (a, b) { return a.f - b.f; }); + // after i2 reaches last ind, will be stopped + // freq must be greater than largest possible number of symbols + t.push({ s: -1, f: 25001 }); + var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2; + t[0] = { s: -1, f: l.f + r.f, l: l, r: r }; + // efficient algorithm from UZIP.js + // i0 is lookbehind, i2 is lookahead - after processing two low-freq + // symbols that combined have high freq, will start processing i2 (high-freq, + // non-composite) symbols instead + // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/ + while (i1 != s - 1) { + l = t[t[i0].f < t[i2].f ? i0++ : i2++]; + r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++]; + t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r }; + } + var maxSym = t2[0].s; + for (var i = 1; i < s; ++i) { + if (t2[i].s > maxSym) + maxSym = t2[i].s; + } + // code lengths + var tr = new u16(maxSym + 1); + // max bits in tree + var mbt = ln(t[i1 - 1], tr, 0); + if (mbt > mb) { + // more algorithms from UZIP.js + // TODO: find out how this code works (debt) + // ind debt + var i = 0, dt = 0; + // left cost + var lft = mbt - mb, cst = 1 << lft; + t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; }); + for (; i < s; ++i) { + var i2_1 = t2[i].s; + if (tr[i2_1] > mb) { + dt += cst - (1 << (mbt - tr[i2_1])); + tr[i2_1] = mb; + } + else + break; + } + dt >>>= lft; + while (dt > 0) { + var i2_2 = t2[i].s; + if (tr[i2_2] < mb) + dt -= 1 << (mb - tr[i2_2]++ - 1); + else + ++i; + } + for (; i >= 0 && dt; --i) { + var i2_3 = t2[i].s; + if (tr[i2_3] == mb) { + --tr[i2_3]; + ++dt; + } + } + mbt = mb; + } + return [new u8(tr), mbt]; +}; +// get the max length and assign length codes +var ln = function (n, l, d) { + return n.s == -1 + ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1)) + : (l[n.s] = d); +}; +// length codes generation +var lc = function (c) { + var s = c.length; + // Note that the semicolon was intentional + while (s && !c[--s]) + ; + var cl = new u16(++s); + // ind num streak + var cli = 0, cln = c[0], cls = 1; + var w = function (v) { cl[cli++] = v; }; + for (var i = 1; i <= s; ++i) { + if (c[i] == cln && i != s) + ++cls; + else { + if (!cln && cls > 2) { + for (; cls > 138; cls -= 138) + w(32754); + if (cls > 2) { + w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305); + cls = 0; + } + } + else if (cls > 3) { + w(cln), --cls; + for (; cls > 6; cls -= 6) + w(8304); + if (cls > 2) + w(((cls - 3) << 5) | 8208), cls = 0; + } + while (cls--) + w(cln); + cls = 1; + cln = c[i]; + } + } + return [cl.subarray(0, cli), s]; +}; +// calculate the length of output from tree, code lengths +var clen = function (cf, cl) { + var l = 0; + for (var i = 0; i < cl.length; ++i) + l += cf[i] * cl[i]; + return l; +}; +// writes a fixed block +// returns the new bit pos +var wfblk = function (out, pos, dat) { + // no need to write 00 as type: TypedArray defaults to 0 + var s = dat.length; + var o = shft(pos + 2); + out[o] = s & 255; + out[o + 1] = s >>> 8; + out[o + 2] = out[o] ^ 255; + out[o + 3] = out[o + 1] ^ 255; + for (var i = 0; i < s; ++i) + out[o + i + 4] = dat[i]; + return (o + 4 + s) * 8; +}; +// writes a block +var wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) { + wbits(out, p++, final); + ++lf[256]; + var _a = hTree(lf, 15), dlt = _a[0], mlb = _a[1]; + var _b = hTree(df, 15), ddt = _b[0], mdb = _b[1]; + var _c = lc(dlt), lclt = _c[0], nlc = _c[1]; + var _d = lc(ddt), lcdt = _d[0], ndc = _d[1]; + var lcfreq = new u16(19); + for (var i = 0; i < lclt.length; ++i) + lcfreq[lclt[i] & 31]++; + for (var i = 0; i < lcdt.length; ++i) + lcfreq[lcdt[i] & 31]++; + var _e = hTree(lcfreq, 7), lct = _e[0], mlcb = _e[1]; + var nlcc = 19; + for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc) + ; + var flen = (bl + 5) << 3; + var ftlen = clen(lf, flt) + clen(df, fdt) + eb; + var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + (2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]); + if (flen <= ftlen && flen <= dtlen) + return wfblk(out, p, dat.subarray(bs, bs + bl)); + var lm, ll, dm, dl; + wbits(out, p, 1 + (dtlen < ftlen)), p += 2; + if (dtlen < ftlen) { + lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt; + var llm = hMap(lct, mlcb, 0); + wbits(out, p, nlc - 257); + wbits(out, p + 5, ndc - 1); + wbits(out, p + 10, nlcc - 4); + p += 14; + for (var i = 0; i < nlcc; ++i) + wbits(out, p + 3 * i, lct[clim[i]]); + p += 3 * nlcc; + var lcts = [lclt, lcdt]; + for (var it = 0; it < 2; ++it) { + var clct = lcts[it]; + for (var i = 0; i < clct.length; ++i) { + var len = clct[i] & 31; + wbits(out, p, llm[len]), p += lct[len]; + if (len > 15) + wbits(out, p, (clct[i] >>> 5) & 127), p += clct[i] >>> 12; + } + } + } + else { + lm = flm, ll = flt, dm = fdm, dl = fdt; + } + for (var i = 0; i < li; ++i) { + if (syms[i] > 255) { + var len = (syms[i] >>> 18) & 31; + wbits16(out, p, lm[len + 257]), p += ll[len + 257]; + if (len > 7) + wbits(out, p, (syms[i] >>> 23) & 31), p += fleb[len]; + var dst = syms[i] & 31; + wbits16(out, p, dm[dst]), p += dl[dst]; + if (dst > 3) + wbits16(out, p, (syms[i] >>> 5) & 8191), p += fdeb[dst]; + } + else { + wbits16(out, p, lm[syms[i]]), p += ll[syms[i]]; + } + } + wbits16(out, p, lm[256]); + return p + ll[256]; +}; +// deflate options (nice << 13) | chain +var deo = /*#__PURE__*/ new u32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]); +// empty +var et = /*#__PURE__*/ new u8(0); +// compresses data into a raw DEFLATE buffer +var dflt = function (dat, lvl, plvl, pre, post, lst) { + var s = dat.length; + var o = new u8(pre + s + 5 * (1 + Math.floor(s / 7000)) + post); + // writing to this writes to the output buffer + var w = o.subarray(pre, o.length - post); + var pos = 0; + if (!lvl || s < 8) { + for (var i = 0; i <= s; i += 65535) { + // end + var e = i + 65535; + if (e < s) { + // write full block + pos = wfblk(w, pos, dat.subarray(i, e)); + } + else { + // write final block + w[i] = lst; + pos = wfblk(w, pos, dat.subarray(i, s)); + } + } + } + else { + var opt = deo[lvl - 1]; + var n = opt >>> 13, c = opt & 8191; + var msk_1 = (1 << plvl) - 1; + // prev 2-byte val map curr 2-byte val map + var prev = new u16(32768), head = new u16(msk_1 + 1); + var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1; + var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; }; + // 24576 is an arbitrary number of maximum symbols per block + // 424 buffer for last block + var syms = new u32(25000); + // length/literal freq distance freq + var lf = new u16(288), df = new u16(32); + // l/lcnt exbits index l/lind waitdx bitpos + var lc_1 = 0, eb = 0, i = 0, li = 0, wi = 0, bs = 0; + for (; i < s; ++i) { + // hash value + var hv = hsh(i); + // index mod 32768 + var imod = i & 32767; + // previous index with this value + var pimod = head[hv]; + prev[imod] = pimod; + head[hv] = imod; + // We always should modify head and prev, but only add symbols if + // this data is not yet processed ("wait" for wait index) + if (wi <= i) { + // bytes remaining + var rem = s - i; + if ((lc_1 > 7000 || li > 24576) && rem > 423) { + pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos); + li = lc_1 = eb = 0, bs = i; + for (var j = 0; j < 286; ++j) + lf[j] = 0; + for (var j = 0; j < 30; ++j) + df[j] = 0; + } + // len dist chain + var l = 2, d = 0, ch_1 = c, dif = (imod - pimod) & 32767; + if (rem > 2 && hv == hsh(i - dif)) { + var maxn = Math.min(n, rem) - 1; + var maxd = Math.min(32767, i); + // max possible length + // not capped at dif because decompressors implement "rolling" index population + var ml = Math.min(258, rem); + while (dif <= maxd && --ch_1 && imod != pimod) { + if (dat[i + l] == dat[i + l - dif]) { + var nl = 0; + for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl) + ; + if (nl > l) { + l = nl, d = dif; + // break out early when we reach "nice" (we are satisfied enough) + if (nl > maxn) + break; + // now, find the rarest 2-byte sequence within this + // length of literals and search for that instead. + // Much faster than just using the start + var mmd = Math.min(dif, nl - 2); + var md = 0; + for (var j = 0; j < mmd; ++j) { + var ti = (i - dif + j + 32768) & 32767; + var pti = prev[ti]; + var cd = (ti - pti + 32768) & 32767; + if (cd > md) + md = cd, pimod = ti; + } + } + } + // check the previous match + imod = pimod, pimod = prev[imod]; + dif += (imod - pimod + 32768) & 32767; + } + } + // d will be nonzero only when a match was found + if (d) { + // store both dist and len data in one Uint32 + // Make sure this is recognized as a len/dist with 28th bit (2^28) + syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d]; + var lin = revfl[l] & 31, din = revfd[d] & 31; + eb += fleb[lin] + fdeb[din]; + ++lf[257 + lin]; + ++df[din]; + wi = i + l; + ++lc_1; + } + else { + syms[li++] = dat[i]; + ++lf[dat[i]]; + } + } + } + pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos); + // this is the easiest way to avoid needing to maintain state + if (!lst) + pos = wfblk(w, pos, et); + } + return slc(o, 0, pre + shft(pos) + post); +}; +// CRC32 table +var crct = /*#__PURE__*/ (function () { + var t = new u32(256); + for (var i = 0; i < 256; ++i) { + var c = i, k = 9; + while (--k) + c = ((c & 1) && 0xEDB88320) ^ (c >>> 1); + t[i] = c; + } + return t; +})(); +// CRC32 +var crc = function () { + var c = 0xFFFFFFFF; + return { + p: function (d) { + // closures have awful performance + var cr = c; + for (var i = 0; i < d.length; ++i) + cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8); + c = cr; + }, + d: function () { return c ^ 0xFFFFFFFF; } + }; +}; +// Alder32 +var adler = function () { + var a = 1, b = 0; + return { + p: function (d) { + // closures have awful performance + var n = a, m = b; + var l = d.length; + for (var i = 0; i != l;) { + var e = Math.min(i + 5552, l); + for (; i < e; ++i) + n += d[i], m += n; + n %= 65521, m %= 65521; + } + a = n, b = m; + }, + d: function () { return ((a >>> 8) << 16 | (b & 255) << 8 | (b >>> 8)) + ((a & 255) << 23) * 2; } + }; +}; +; +// deflate with opts +var dopt = function (dat, opt, pre, post, st) { + return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : (12 + opt.mem), pre, post, !st); +}; +// Walmart object spread +var mrg = function (a, b) { + var o = {}; + for (var k in a) + o[k] = a[k]; + for (var k in b) + o[k] = b[k]; + return o; +}; +// worker clone +// This is possibly the craziest part of the entire codebase, despite how simple it may seem. +// The only parameter to this function is a closure that returns an array of variables outside of the function scope. +// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization. +// We will return an object mapping of true variable name to value (basically, the current scope as a JS object). +// The reason we can't just use the original variable names is minifiers mangling the toplevel scope. +// This took me three weeks to figure out how to do. +var wcln = function (fn, fnStr, td) { + var dt = fn(); + var st = fn.toString(); + var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/ /g, '').split(','); + for (var i = 0; i < dt.length; ++i) { + var v = dt[i], k = ks[i]; + if (typeof v == 'function') { + fnStr += ';' + k + '='; + var st_1 = v.toString(); + if (v.prototype) { + // for global objects + if (st_1.indexOf('[native code]') != -1) { + var spInd = st_1.indexOf(' ', 8) + 1; + fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd)); + } + else { + fnStr += st_1; + for (var t in v.prototype) + fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString(); + } + } + else + fnStr += st_1; + } + else + td[k] = v; + } + return [fnStr, td]; +}; +var ch = []; +// clone bufs +var cbfs = function (v) { + var tl = []; + for (var k in v) { + if (v[k] instanceof u8 || v[k] instanceof u16 || v[k] instanceof u32) + tl.push((v[k] = new v[k].constructor(v[k])).buffer); + } + return tl; +}; +// use a worker to execute code +var wrkr = function (fns, init, id, cb) { + var _a; + if (!ch[id]) { + var fnStr = '', td_1 = {}, m = fns.length - 1; + for (var i = 0; i < m; ++i) + _a = wcln(fns[i], fnStr, td_1), fnStr = _a[0], td_1 = _a[1]; + ch[id] = wcln(fns[m], fnStr, td_1); + } + var td = mrg({}, ch[id][1]); + return wk(ch[id][0] + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb); +}; +// base async inflate fn +var bInflt = function () { return [u8, u16, u32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, hMap, max, bits, bits16, shft, slc, inflt, inflateSync, pbf, gu8]; }; +var bDflt = function () { return [u8, u16, u32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; }; +// gzip extra +var gze = function () { return [gzh, gzhl, wbytes, crc, crct]; }; +// gunzip extra +var guze = function () { return [gzs, gzl]; }; +// zlib extra +var zle = function () { return [zlh, wbytes, adler]; }; +// unzlib extra +var zule = function () { return [zlv]; }; +// post buf +var pbf = function (msg) { return postMessage(msg, [msg.buffer]); }; +// get u8 +var gu8 = function (o) { return o && o.size && new u8(o.size); }; +// async helper +var cbify = function (dat, opts, fns, init, id, cb) { + var w = wrkr(fns, init, id, function (err, dat) { + w.terminate(); + cb(err, dat); + }); + if (!opts.consume) + dat = new u8(dat); + w.postMessage([dat, opts], [dat.buffer]); + return function () { w.terminate(); }; +}; +// auto stream +var astrm = function (strm) { + strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); }; + return function (ev) { return strm.push(ev.data[0], ev.data[1]); }; +}; +// async stream attach +var astrmify = function (fns, strm, opts, init, id) { + var t; + var w = wrkr(fns, init, id, function (err, dat) { + if (err) + w.terminate(), strm.ondata.call(strm, err); + else { + if (dat[1]) + w.terminate(); + strm.ondata.call(strm, err, dat[0], dat[1]); + } + }); + w.postMessage(opts); + strm.push = function (d, f) { + if (t) + throw 'stream finished'; + if (!strm.ondata) + throw 'no stream handler'; + w.postMessage([d, t = f], [d.buffer]); + }; + strm.terminate = function () { w.terminate(); }; +}; +// read 2 bytes +var b2 = function (d, b) { return d[b] | (d[b + 1] << 8); }; +// read 4 bytes +var b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16)) + (d[b + 3] << 23) * 2; }; +// write bytes +var wbytes = function (d, b, v) { + for (; v; ++b) + d[b] = v, v >>>= 8; +}; +// gzip header +var gzh = function (c, o) { + var fn = o.filename; + c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix + if (o.mtime != 0) + wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000)); + if (fn) { + c[3] = 8; + for (var i = 0; i <= fn.length; ++i) + c[i + 10] = fn.charCodeAt(i); + } +}; +// gzip footer: -8 to -4 = CRC, -4 to -0 is length +// gzip start +var gzs = function (d) { + if (d[0] != 31 || d[1] != 139 || d[2] != 8) + throw 'invalid gzip data'; + var flg = d[3]; + var st = 10; + if (flg & 4) + st += d[10] | (d[11] << 8) + 2; + for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++]) + ; + return st + (flg & 2); +}; +// gzip length +var gzl = function (d) { + var l = d.length; + return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16) + (2 * (d[l - 1] << 23)); +}; +// gzip header length +var gzhl = function (o) { return 10 + ((o.filename && (o.filename.length + 1)) || 0); }; +// zlib header +var zlh = function (c, o) { + var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2; + c[0] = 120, c[1] = (fl << 6) | (fl ? (32 - 2 * fl) : 1); +}; +// zlib valid +var zlv = function (d) { + if ((d[0] & 15) != 8 || (d[0] >>> 4) > 7 || ((d[0] << 8 | d[1]) % 31)) + throw 'invalid zlib data'; + if (d[1] & 32) + throw 'invalid zlib data: preset dictionaries not supported'; +}; +function AsyncCmpStrm(opts, cb) { + if (!cb && typeof opts == 'function') + cb = opts, opts = {}; + this.ondata = cb; + return opts; +} +// zlib footer: -4 to -0 is Adler32 +/** + * Streaming DEFLATE compression + */ +var Deflate = /*#__PURE__*/ (function () { + function Deflate(opts, cb) { + if (!cb && typeof opts == 'function') + cb = opts, opts = {}; + this.ondata = cb; + this.o = opts || {}; + } + Deflate.prototype.p = function (c, f) { + this.ondata(dopt(c, this.o, 0, 0, !f), f); + }; + /** + * Pushes a chunk to be deflated + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Deflate.prototype.push = function (chunk, final) { + if (this.d) + throw 'stream finished'; + if (!this.ondata) + throw 'no stream handler'; + this.d = final; + this.p(chunk, final || false); + }; + return Deflate; +}()); + +/** + * Asynchronous streaming DEFLATE compression + */ +var AsyncDeflate = /*#__PURE__*/ (function () { + function AsyncDeflate(opts, cb) { + astrmify([ + bDflt, + function () { return [astrm, Deflate]; } + ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) { + var strm = new Deflate(ev.data); + onmessage = astrm(strm); + }, 6); + } + return AsyncDeflate; +}()); + +function deflate(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + throw 'no callback'; + return cbify(data, opts, [ + bDflt, + ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb); +} +/** + * Compresses data with DEFLATE without any wrapper + * @param data The data to compress + * @param opts The compression options + * @returns The deflated version of the data + */ +function deflateSync(data, opts) { + if (opts === void 0) { opts = {}; } + return dopt(data, opts, 0, 0); +} +/** + * Streaming DEFLATE decompression + */ +var Inflate = /*#__PURE__*/ (function () { + /** + * Creates an inflation stream + * @param cb The callback to call whenever data is inflated + */ + function Inflate(cb) { + this.s = {}; + this.p = new u8(0); + this.ondata = cb; + } + Inflate.prototype.e = function (c) { + if (this.d) + throw 'stream finished'; + if (!this.ondata) + throw 'no stream handler'; + var l = this.p.length; + var n = new u8(l + c.length); + n.set(this.p), n.set(c, l), this.p = n; + }; + Inflate.prototype.c = function (final) { + this.d = this.s.i = final || false; + var bts = this.s.b; + var dt = inflt(this.p, this.o, this.s); + this.ondata(slc(dt, bts, this.s.b), this.d); + this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length; + this.p = slc(this.p, (this.s.p / 8) >> 0), this.s.p &= 7; + }; + /** + * Pushes a chunk to be inflated + * @param chunk The chunk to push + * @param final Whether this is the final chunk + */ + Inflate.prototype.push = function (chunk, final) { + this.e(chunk), this.c(final); + }; + return Inflate; +}()); + +/** + * Asynchronous streaming DEFLATE decompression + */ +var AsyncInflate = /*#__PURE__*/ (function () { + /** + * Creates an asynchronous inflation stream + * @param cb The callback to call whenever data is deflated + */ + function AsyncInflate(cb) { + this.ondata = cb; + astrmify([ + bInflt, + function () { return [astrm, Inflate]; } + ], this, 0, function () { + var strm = new Inflate(); + onmessage = astrm(strm); + }, 7); + } + return AsyncInflate; +}()); + +function inflate(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + throw 'no callback'; + return cbify(data, opts, [ + bInflt + ], function (ev) { return pbf(inflateSync(ev.data[0], gu8(ev.data[1]))); }, 1, cb); +} +/** + * Expands DEFLATE data with no wrapper + * @param data The data to decompress + * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length. + * @returns The decompressed version of the data + */ +function inflateSync(data, out) { + return inflt(data, out); +} +// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize. +/** + * Streaming GZIP compression + */ +var Gzip = /*#__PURE__*/ (function () { + function Gzip(opts, cb) { + this.c = crc(); + this.l = 0; + this.v = 1; + Deflate.call(this, opts, cb); + } + /** + * Pushes a chunk to be GZIPped + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Gzip.prototype.push = function (chunk, final) { + Deflate.prototype.push.call(this, chunk, final); + }; + Gzip.prototype.p = function (c, f) { + this.c.p(c); + this.l += c.length; + var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, !f); + if (this.v) + gzh(raw, this.o), this.v = 0; + if (f) + wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l); + this.ondata(raw, f); + }; + return Gzip; +}()); + +/** + * Asynchronous streaming GZIP compression + */ +var AsyncGzip = /*#__PURE__*/ (function () { + function AsyncGzip(opts, cb) { + astrmify([ + bDflt, + gze, + function () { return [astrm, Deflate, Gzip]; } + ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) { + var strm = new Gzip(ev.data); + onmessage = astrm(strm); + }, 8); + } + return AsyncGzip; +}()); + +function gzip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + throw 'no callback'; + return cbify(data, opts, [ + bDflt, + gze, + function () { return [gzipSync]; } + ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb); +} +/** + * Compresses data with GZIP + * @param data The data to compress + * @param opts The compression options + * @returns The gzipped version of the data + */ +function gzipSync(data, opts) { + if (opts === void 0) { opts = {}; } + var c = crc(), l = data.length; + c.p(data); + var d = dopt(data, opts, gzhl(opts), 8), s = d.length; + return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d; +} +/** + * Streaming GZIP decompression + */ +var Gunzip = /*#__PURE__*/ (function () { + /** + * Creates a GUNZIP stream + * @param cb The callback to call whenever data is inflated + */ + function Gunzip(cb) { + this.v = 1; + Inflate.call(this, cb); + } + /** + * Pushes a chunk to be GUNZIPped + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Gunzip.prototype.push = function (chunk, final) { + Inflate.prototype.e.call(this, chunk); + if (this.v) { + var s = gzs(this.p); + if (s >= this.p.length && !final) + return; + this.p = this.p.subarray(s), this.v = 0; + } + if (final) { + if (this.p.length < 8) + throw 'invalid gzip stream'; + this.p = this.p.subarray(0, -8); + } + // necessary to prevent TS from using the closure value + // This allows for workerization to function correctly + Inflate.prototype.c.call(this, final); + }; + return Gunzip; +}()); + +/** + * Asynchronous streaming GZIP decompression + */ +var AsyncGunzip = /*#__PURE__*/ (function () { + /** + * Creates an asynchronous GUNZIP stream + * @param cb The callback to call whenever data is deflated + */ + function AsyncGunzip(cb) { + this.ondata = cb; + astrmify([ + bInflt, + guze, + function () { return [astrm, Inflate, Gunzip]; } + ], this, 0, function () { + var strm = new Gunzip(); + onmessage = astrm(strm); + }, 9); + } + return AsyncGunzip; +}()); + +function gunzip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + throw 'no callback'; + return cbify(data, opts, [ + bInflt, + guze, + function () { return [gunzipSync]; } + ], function (ev) { return pbf(gunzipSync(ev.data[0])); }, 3, cb); +} +/** + * Expands GZIP data + * @param data The data to decompress + * @param out Where to write the data. GZIP already encodes the output size, so providing this doesn't save memory. + * @returns The decompressed version of the data + */ +function gunzipSync(data, out) { + return inflt(data.subarray(gzs(data), -8), out || new u8(gzl(data))); +} +/** + * Streaming Zlib compression + */ +var Zlib = /*#__PURE__*/ (function () { + function Zlib(opts, cb) { + this.c = adler(); + this.v = 1; + Deflate.call(this, opts, cb); + } + /** + * Pushes a chunk to be zlibbed + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Zlib.prototype.push = function (chunk, final) { + Deflate.prototype.push.call(this, chunk, final); + }; + Zlib.prototype.p = function (c, f) { + this.c.p(c); + var raw = dopt(c, this.o, this.v && 2, f && 4, !f); + if (this.v) + zlh(raw, this.o), this.v = 0; + if (f) + wbytes(raw, raw.length - 4, this.c.d()); + this.ondata(raw, f); + }; + return Zlib; +}()); + +/** + * Asynchronous streaming Zlib compression + */ +var AsyncZlib = /*#__PURE__*/ (function () { + function AsyncZlib(opts, cb) { + astrmify([ + bDflt, + zle, + function () { return [astrm, Deflate, Zlib]; } + ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) { + var strm = new Zlib(ev.data); + onmessage = astrm(strm); + }, 10); + } + return AsyncZlib; +}()); + +function zlib(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + throw 'no callback'; + return cbify(data, opts, [ + bDflt, + zle, + function () { return [zlibSync]; } + ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb); +} +/** + * Compress data with Zlib + * @param data The data to compress + * @param opts The compression options + * @returns The zlib-compressed version of the data + */ +function zlibSync(data, opts) { + if (opts === void 0) { opts = {}; } + var a = adler(); + a.p(data); + var d = dopt(data, opts, 2, 4); + return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d; +} +/** + * Streaming Zlib decompression + */ +var Unzlib = /*#__PURE__*/ (function () { + /** + * Creates a Zlib decompression stream + * @param cb The callback to call whenever data is inflated + */ + function Unzlib(cb) { + this.v = 1; + Inflate.call(this, cb); + } + /** + * Pushes a chunk to be unzlibbed + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Unzlib.prototype.push = function (chunk, final) { + Inflate.prototype.e.call(this, chunk); + if (this.v) { + if (this.p.length < 2 && !final) + return; + this.p = this.p.subarray(2), this.v = 0; + } + if (final) { + if (this.p.length < 4) + throw 'invalid zlib stream'; + this.p = this.p.subarray(0, -4); + } + // necessary to prevent TS from using the closure value + // This allows for workerization to function correctly + Inflate.prototype.c.call(this, final); + }; + return Unzlib; +}()); + +/** + * Asynchronous streaming Zlib decompression + */ +var AsyncUnzlib = /*#__PURE__*/ (function () { + /** + * Creates an asynchronous Zlib decompression stream + * @param cb The callback to call whenever data is deflated + */ + function AsyncUnzlib(cb) { + this.ondata = cb; + astrmify([ + bInflt, + zule, + function () { return [astrm, Inflate, Unzlib]; } + ], this, 0, function () { + var strm = new Unzlib(); + onmessage = astrm(strm); + }, 11); + } + return AsyncUnzlib; +}()); + +function unzlib(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + throw 'no callback'; + return cbify(data, opts, [ + bInflt, + zule, + function () { return [unzlibSync]; } + ], function (ev) { return pbf(unzlibSync(ev.data[0], gu8(ev.data[1]))); }, 5, cb); +} +/** + * Expands Zlib data + * @param data The data to decompress + * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length. + * @returns The decompressed version of the data + */ +function unzlibSync(data, out) { + return inflt((zlv(data), data.subarray(2, -4)), out); +} +// Default algorithm for compression (used because having a known output size allows faster decompression) + +// Default algorithm for compression (used because having a known output size allows faster decompression) + +/** + * Streaming GZIP, Zlib, or raw DEFLATE decompression + */ +var Decompress = /*#__PURE__*/ (function () { + /** + * Creates a decompression stream + * @param cb The callback to call whenever data is decompressed + */ + function Decompress(cb) { + this.G = Gunzip; + this.I = Inflate; + this.Z = Unzlib; + this.ondata = cb; + } + /** + * Pushes a chunk to be decompressed + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Decompress.prototype.push = function (chunk, final) { + if (!this.ondata) + throw 'no stream handler'; + if (!this.s) { + if (this.p && this.p.length) { + var n = new u8(this.p.length + chunk.length); + n.set(this.p), n.set(chunk, this.p.length); + } + else + this.p = chunk; + if (this.p.length > 2) { + var _this_1 = this; + var cb = function () { _this_1.ondata.apply(_this_1, arguments); }; + this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8) + ? new this.G(cb) + : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31)) + ? new this.I(cb) + : new this.Z(cb); + this.s.push(this.p, final); + this.p = null; + } + } + else + this.s.push(chunk, final); + }; + return Decompress; +}()); + +/** + * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression + */ +var AsyncDecompress = /*#__PURE__*/ (function () { + /** + * Creates an asynchronous decompression stream + * @param cb The callback to call whenever data is decompressed + */ + function AsyncDecompress(cb) { + this.G = AsyncGunzip; + this.I = AsyncInflate; + this.Z = AsyncUnzlib; + this.ondata = cb; + } + /** + * Pushes a chunk to be decompressed + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + AsyncDecompress.prototype.push = function (chunk, final) { + Decompress.prototype.push.call(this, chunk, final); + }; + return AsyncDecompress; +}()); + +function decompress(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + throw 'no callback'; + return (data[0] == 31 && data[1] == 139 && data[2] == 8) + ? gunzip(data, opts, cb) + : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31)) + ? inflate(data, opts, cb) + : unzlib(data, opts, cb); +} +/** + * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format + * @param data The data to decompress + * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length. + * @returns The decompressed version of the data + */ +function decompressSync(data, out) { + return (data[0] == 31 && data[1] == 139 && data[2] == 8) + ? gunzipSync(data, out) + : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31)) + ? inflateSync(data, out) + : unzlibSync(data, out); +} +// flatten a directory structure +var fltn = function (d, p, t, o) { + for (var k in d) { + var val = d[k], n = p + k; + if (val instanceof u8) + t[n] = [val, o]; + else if (Array.isArray(val)) + t[n] = [val[0], mrg(o, val[1])]; + else + fltn(val, n + '/', t, o); + } +}; +/** + * Converts a string into a Uint8Array for use with compression/decompression methods + * @param str The string to encode + * @param latin1 Whether or not to interpret the data as Latin-1. This should + * not need to be true unless decoding a binary string. + * @returns The string encoded in UTF-8/Latin-1 binary + */ +function strToU8(str, latin1) { + var l = str.length; + if (!latin1 && typeof TextEncoder != 'undefined') + return new TextEncoder().encode(str); + var ar = new u8(str.length + (str.length >>> 1)); + var ai = 0; + var w = function (v) { ar[ai++] = v; }; + for (var i = 0; i < l; ++i) { + if (ai + 5 > ar.length) { + var n = new u8(ai + 8 + ((l - i) << 1)); + n.set(ar); + ar = n; + } + var c = str.charCodeAt(i); + if (c < 128 || latin1) + w(c); + else if (c < 2048) + w(192 | (c >>> 6)), w(128 | (c & 63)); + else if (c > 55295 && c < 57344) + c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023), + w(240 | (c >>> 18)), w(128 | ((c >>> 12) & 63)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63)); + else + w(224 | (c >>> 12)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63)); + } + return slc(ar, 0, ai); +} +/** + * Converts a Uint8Array to a string + * @param dat The data to decode to string + * @param latin1 Whether or not to interpret the data as Latin-1. This should + * not need to be true unless encoding to binary string. + * @returns The original UTF-8/Latin-1 string + */ +function strFromU8(dat, latin1) { + var r = ''; + if (!latin1 && typeof TextDecoder != 'undefined') + return new TextDecoder().decode(dat); + for (var i = 0; i < dat.length;) { + var c = dat[i++]; + if (c < 128 || latin1) + r += String.fromCharCode(c); + else if (c < 224) + r += String.fromCharCode((c & 31) << 6 | (dat[i++] & 63)); + else if (c < 240) + r += String.fromCharCode((c & 15) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63)); + else + c = ((c & 15) << 18 | (dat[i++] & 63) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63)) - 65536, + r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023)); + } + return r; +} +; +// skip local zip header +var slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); }; +// read zip header +var zh = function (d, b, z) { + var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl; + var _a = z ? z64e(d, es) : [b4(d, b + 20), b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2]; + return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off]; +}; +// read zip64 extra field +var z64e = function (d, b) { + for (; b2(d, b) != 1; b += 4 + b2(d, b + 2)) + ; + return [b4(d, b + 12), b4(d, b + 4), b4(d, b + 20)]; +}; +// write zip header +var wzh = function (d, b, c, cmp, su, fn, u, o, ce, t) { + var fl = fn.length, l = cmp.length; + wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4; + if (ce != null) + d[b] = 20, b += 2; + d[b] = 20, b += 2; // spec compliance? what's that? + d[b++] = (t == 8 && (o.level == 1 ? 6 : o.level < 6 ? 4 : o.level == 9 ? 2 : 0)), d[b++] = u && 8; + d[b] = t, b += 2; + var dt = new Date(o.mtime || Date.now()), y = dt.getFullYear() - 1980; + if (y < 0 || y > 119) + throw 'date not in range 1980-2099'; + wbytes(d, b, ((y << 24) * 2) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >>> 1)); + b += 4; + wbytes(d, b, c); + wbytes(d, b + 4, l); + wbytes(d, b + 8, su); + wbytes(d, b + 12, fl), b += 16; // skip extra field, comment + if (ce != null) + wbytes(d, b += 10, ce), b += 4; + d.set(fn, b); + b += fl; + if (ce == null) + d.set(cmp, b); +}; +// write zip footer (end of central directory) +var wzf = function (o, b, c, d, e) { + wbytes(o, b, 0x6054B50); // skip disk + wbytes(o, b + 8, c); + wbytes(o, b + 10, c); + wbytes(o, b + 12, d); + wbytes(o, b + 16, e); +}; +function zip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + throw 'no callback'; + var r = {}; + fltn(data, '', r, opts); + var k = Object.keys(r); + var lft = k.length, o = 0, tot = 0; + var slft = lft, files = new Array(lft); + var term = []; + var tAll = function () { + for (var i = 0; i < term.length; ++i) + term[i](); + }; + var cbf = function () { + var out = new u8(tot + 22), oe = o, cdl = tot - o; + tot = 0; + for (var i = 0; i < slft; ++i) { + var f = files[i]; + try { + wzh(out, tot, f.c, f.d, f.m, f.n, f.u, f.p, null, f.t); + wzh(out, o, f.c, f.d, f.m, f.n, f.u, f.p, tot, f.t), o += 46 + f.n.length, tot += 30 + f.n.length + f.d.length; + } + catch (e) { + return cb(e, null); + } + } + wzf(out, o, files.length, cdl, oe); + cb(null, out); + }; + if (!lft) + cbf(); + var _loop_1 = function (i) { + var fn = k[i]; + var _a = r[fn], file = _a[0], p = _a[1]; + var c = crc(), m = file.length; + c.p(file); + var n = strToU8(fn), s = n.length; + var t = p.level == 0 ? 0 : 8; + var cbl = function (e, d) { + if (e) { + tAll(); + cb(e, null); + } + else { + var l = d.length; + files[i] = { + t: t, + d: d, + m: m, + c: c.d(), + u: fn.length != l, + n: n, + p: p + }; + o += 30 + s + l; + tot += 76 + 2 * s + l; + if (!--lft) + cbf(); + } + }; + if (n.length > 65535) + cbl('filename too long', null); + if (!t) + cbl(null, file); + else if (m < 160000) { + try { + cbl(null, deflateSync(file, p)); + } + catch (e) { + cbl(e, null); + } + } + else + term.push(deflate(file, p, cbl)); + }; + // Cannot use lft because it can decrease + for (var i = 0; i < slft; ++i) { + _loop_1(i); + } + return tAll; +} +/** + * Synchronously creates a ZIP file. Prefer using `zip` for better performance + * with more than one file. + * @param data The directory structure for the ZIP archive + * @param opts The main options, merged with per-file options + * @returns The generated ZIP archive + */ +function zipSync(data, opts) { + if (opts === void 0) { opts = {}; } + var r = {}; + var files = []; + fltn(data, '', r, opts); + var o = 0; + var tot = 0; + for (var fn in r) { + var _a = r[fn], file = _a[0], p = _a[1]; + var t = p.level == 0 ? 0 : 8; + var n = strToU8(fn), s = n.length; + if (n.length > 65535) + throw 'filename too long'; + var d = t ? deflateSync(file, p) : file, l = d.length; + var c = crc(); + c.p(file); + files.push({ + t: t, + d: d, + m: file.length, + c: c.d(), + u: fn.length != s, + n: n, + o: o, + p: p + }); + o += 30 + s + l; + tot += 76 + 2 * s + l; + } + var out = new u8(tot + 22), oe = o, cdl = tot - o; + for (var i = 0; i < files.length; ++i) { + var f = files[i]; + wzh(out, f.o, f.c, f.d, f.m, f.n, f.u, f.p, null, f.t); + wzh(out, o, f.c, f.d, f.m, f.n, f.u, f.p, f.o, f.t), o += 46 + f.n.length; + } + wzf(out, o, files.length, cdl, oe); + return out; +} +/** + * Asynchronously decompresses a ZIP archive + * @param data The raw compressed ZIP file + * @param cb The callback to call with the decompressed files + * @returns A function that can be used to immediately terminate the unzipping + */ +function unzip(data, cb) { + if (typeof cb != 'function') + throw 'no callback'; + var term = []; + var tAll = function () { + for (var i = 0; i < term.length; ++i) + term[i](); + }; + var files = {}; + var e = data.length - 22; + for (; b4(data, e) != 0x6054B50; --e) { + if (!e || data.length - e > 65558) { + cb('invalid zip file', null); + return; + } + } + ; + var lft = b2(data, e + 8); + if (!lft) + cb(null, {}); + var c = lft; + var o = b4(data, e + 16); + var z = o == 4294967295; + if (z) { + e = b4(data, e - 12); + if (b4(data, e) != 0x6064B50) + throw 'invalid zip file'; + c = lft = b4(data, e + 32); + o = b4(data, e + 48); + } + var _loop_2 = function (i) { + var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off); + o = no; + var cbl = function (e, d) { + if (e) { + tAll(); + cb(e, null); + } + else { + files[fn] = d; + if (!--lft) + cb(null, files); + } + }; + if (!c_1) + cbl(null, slc(data, b, b + sc)); + else if (c_1 == 8) { + var infl = data.subarray(b, b + sc); + if (sc < 320000) { + try { + cbl(null, inflateSync(infl, new u8(su))); + } + catch (e) { + cbl(e, null); + } + } + else + term.push(inflate(infl, { size: su }, cbl)); + } + else + cbl('unknown compression type ' + c_1, null); + }; + for (var i = 0; i < c; ++i) { + _loop_2(i); + } + return tAll; +} +/** + * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better + * performance with more than one file. + * @param data The raw compressed ZIP file + * @returns The decompressed files + */ +function unzipSync(data) { + var files = {}; + var e = data.length - 22; + for (; b4(data, e) != 0x6054B50; --e) { + if (!e || data.length - e > 65558) + throw 'invalid zip file'; + } + ; + var c = b2(data, e + 8); + if (!c) + return {}; + var o = b4(data, e + 16); + var z = o == 4294967295; + if (z) { + e = b4(data, e - 12); + if (b4(data, e) != 0x6064B50) + throw 'invalid zip file'; + c = b4(data, e + 32); + o = b4(data, e + 48); + } + for (var i = 0; i < c; ++i) { + var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off); + o = no; + if (!c_2) + files[fn] = slc(data, b, b + sc); + else if (c_2 == 8) + files[fn] = inflateSync(data.subarray(b, b + sc), new u8(su)); + else + throw 'unknown compression type ' + c_2; + } + return files; +} + + +/***/ }), + +/***/ "./node_modules/html2canvas/dist/html2canvas.js": +/*!******************************************************!*\ + !*** ./node_modules/html2canvas/dist/html2canvas.js ***! + \******************************************************/ +/***/ (function(module) { + +/*! + * html2canvas 1.0.0 + * Copyright (c) 2021 Niklas von Hertzen + * Released under MIT License + */ +(function (global, factory) { + true ? module.exports = factory() : + 0; +}(this, function () { 'use strict'; + + /*! ***************************************************************************** + Copyright (c) Microsoft Corporation. All rights reserved. + Licensed under the Apache License, Version 2.0 (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy of the + License at http://www.apache.org/licenses/LICENSE-2.0 + + THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED + WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, + MERCHANTABLITY OR NON-INFRINGEMENT. + + See the Apache Version 2.0 License for specific language governing permissions + and limitations under the License. + ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } + + var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + + function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + var Bounds = /** @class */ (function () { + function Bounds(x, y, w, h) { + this.left = x; + this.top = y; + this.width = w; + this.height = h; + } + Bounds.prototype.add = function (x, y, w, h) { + return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h); + }; + Bounds.fromClientRect = function (clientRect) { + return new Bounds(clientRect.left, clientRect.top, clientRect.width, clientRect.height); + }; + return Bounds; + }()); + var parseBounds = function (node) { + return Bounds.fromClientRect(node.getBoundingClientRect()); + }; + var parseDocumentSize = function (document) { + var body = document.body; + var documentElement = document.documentElement; + if (!body || !documentElement) { + throw new Error("Unable to get document size"); + } + var width = Math.max(Math.max(body.scrollWidth, documentElement.scrollWidth), Math.max(body.offsetWidth, documentElement.offsetWidth), Math.max(body.clientWidth, documentElement.clientWidth)); + var height = Math.max(Math.max(body.scrollHeight, documentElement.scrollHeight), Math.max(body.offsetHeight, documentElement.offsetHeight), Math.max(body.clientHeight, documentElement.clientHeight)); + return new Bounds(0, 0, width, height); + }; + + /* + * css-line-break 1.1.1 + * Copyright (c) 2019 Niklas von Hertzen + * Released under MIT License + */ + var toCodePoints = function (str) { + var codePoints = []; + var i = 0; + var length = str.length; + while (i < length) { + var value = str.charCodeAt(i++); + if (value >= 0xd800 && value <= 0xdbff && i < length) { + var extra = str.charCodeAt(i++); + if ((extra & 0xfc00) === 0xdc00) { + codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000); + } + else { + codePoints.push(value); + i--; + } + } + else { + codePoints.push(value); + } + } + return codePoints; + }; + var fromCodePoint = function () { + var codePoints = []; + for (var _i = 0; _i < arguments.length; _i++) { + codePoints[_i] = arguments[_i]; + } + if (String.fromCodePoint) { + return String.fromCodePoint.apply(String, codePoints); + } + var length = codePoints.length; + if (!length) { + return ''; + } + var codeUnits = []; + var index = -1; + var result = ''; + while (++index < length) { + var codePoint = codePoints[index]; + if (codePoint <= 0xffff) { + codeUnits.push(codePoint); + } + else { + codePoint -= 0x10000; + codeUnits.push((codePoint >> 10) + 0xd800, codePoint % 0x400 + 0xdc00); + } + if (index + 1 === length || codeUnits.length > 0x4000) { + result += String.fromCharCode.apply(String, codeUnits); + codeUnits.length = 0; + } + } + return result; + }; + var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + // Use a lookup table to find the index. + var lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256); + for (var i = 0; i < chars.length; i++) { + lookup[chars.charCodeAt(i)] = i; + } + var decode = function (base64) { + var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4; + if (base64[base64.length - 1] === '=') { + bufferLength--; + if (base64[base64.length - 2] === '=') { + bufferLength--; + } + } + var buffer = typeof ArrayBuffer !== 'undefined' && + typeof Uint8Array !== 'undefined' && + typeof Uint8Array.prototype.slice !== 'undefined' + ? new ArrayBuffer(bufferLength) + : new Array(bufferLength); + var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer); + for (i = 0; i < len; i += 4) { + encoded1 = lookup[base64.charCodeAt(i)]; + encoded2 = lookup[base64.charCodeAt(i + 1)]; + encoded3 = lookup[base64.charCodeAt(i + 2)]; + encoded4 = lookup[base64.charCodeAt(i + 3)]; + bytes[p++] = (encoded1 << 2) | (encoded2 >> 4); + bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2); + bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63); + } + return buffer; + }; + var polyUint16Array = function (buffer) { + var length = buffer.length; + var bytes = []; + for (var i = 0; i < length; i += 2) { + bytes.push((buffer[i + 1] << 8) | buffer[i]); + } + return bytes; + }; + var polyUint32Array = function (buffer) { + var length = buffer.length; + var bytes = []; + for (var i = 0; i < length; i += 4) { + bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]); + } + return bytes; + }; + + /** Shift size for getting the index-2 table offset. */ + var UTRIE2_SHIFT_2 = 5; + /** Shift size for getting the index-1 table offset. */ + var UTRIE2_SHIFT_1 = 6 + 5; + /** + * Shift size for shifting left the index array values. + * Increases possible data size with 16-bit index values at the cost + * of compactability. + * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY. + */ + var UTRIE2_INDEX_SHIFT = 2; + /** + * Difference between the two shift sizes, + * for getting an index-1 offset from an index-2 offset. 6=11-5 + */ + var UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2; + /** + * The part of the index-2 table for U+D800..U+DBFF stores values for + * lead surrogate code _units_ not code _points_. + * Values for lead surrogate code _points_ are indexed with this portion of the table. + * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.) + */ + var UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2; + /** Number of entries in a data block. 32=0x20 */ + var UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2; + /** Mask for getting the lower bits for the in-data-block offset. */ + var UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1; + var UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2; + /** Count the lengths of both BMP pieces. 2080=0x820 */ + var UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH; + /** + * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820. + * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2. + */ + var UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH; + var UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */ + /** + * The index-1 table, only used for supplementary code points, at offset 2112=0x840. + * Variable length, for code points up to highStart, where the last single-value range starts. + * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1. + * (For 0x100000 supplementary code points U+10000..U+10ffff.) + * + * The part of the index-2 table for supplementary code points starts + * after this index-1 table. + * + * Both the index-1 table and the following part of the index-2 table + * are omitted completely if there is only BMP data. + */ + var UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH; + /** + * Number of index-1 entries for the BMP. 32=0x20 + * This part of the index-1 table is omitted from the serialized form. + */ + var UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1; + /** Number of entries in an index-2 block. 64=0x40 */ + var UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2; + /** Mask for getting the lower bits for the in-index-2-block offset. */ + var UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1; + var slice16 = function (view, start, end) { + if (view.slice) { + return view.slice(start, end); + } + return new Uint16Array(Array.prototype.slice.call(view, start, end)); + }; + var slice32 = function (view, start, end) { + if (view.slice) { + return view.slice(start, end); + } + return new Uint32Array(Array.prototype.slice.call(view, start, end)); + }; + var createTrieFromBase64 = function (base64) { + var buffer = decode(base64); + var view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer); + var view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer); + var headerLength = 24; + var index = slice16(view16, headerLength / 2, view32[4] / 2); + var data = view32[5] === 2 + ? slice16(view16, (headerLength + view32[4]) / 2) + : slice32(view32, Math.ceil((headerLength + view32[4]) / 4)); + return new Trie(view32[0], view32[1], view32[2], view32[3], index, data); + }; + var Trie = /** @class */ (function () { + function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) { + this.initialValue = initialValue; + this.errorValue = errorValue; + this.highStart = highStart; + this.highValueIndex = highValueIndex; + this.index = index; + this.data = data; + } + /** + * Get the value for a code point as stored in the Trie. + * + * @param codePoint the code point + * @return the value + */ + Trie.prototype.get = function (codePoint) { + var ix; + if (codePoint >= 0) { + if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) { + // Ordinary BMP code point, excluding leading surrogates. + // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index. + // 16 bit data is stored in the index array itself. + ix = this.index[codePoint >> UTRIE2_SHIFT_2]; + ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK); + return this.data[ix]; + } + if (codePoint <= 0xffff) { + // Lead Surrogate Code Point. A Separate index section is stored for + // lead surrogate code units and code points. + // The main index has the code unit data. + // For this function, we need the code point data. + // Note: this expression could be refactored for slightly improved efficiency, but + // surrogate code points will be so rare in practice that it's not worth it. + ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)]; + ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK); + return this.data[ix]; + } + if (codePoint < this.highStart) { + // Supplemental code point, use two-level lookup. + ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1); + ix = this.index[ix]; + ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK; + ix = this.index[ix]; + ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK); + return this.data[ix]; + } + if (codePoint <= 0x10ffff) { + return this.data[this.highValueIndex]; + } + } + // Fall through. The code point is outside of the legal range of 0..0x10ffff. + return this.errorValue; + }; + return Trie; + }()); + + var base64 = 'KwAAAAAAAAAACA4AIDoAAPAfAAACAAAAAAAIABAAGABAAEgAUABYAF4AZgBeAGYAYABoAHAAeABeAGYAfACEAIAAiACQAJgAoACoAK0AtQC9AMUAXgBmAF4AZgBeAGYAzQDVAF4AZgDRANkA3gDmAOwA9AD8AAQBDAEUARoBIgGAAIgAJwEvATcBPwFFAU0BTAFUAVwBZAFsAXMBewGDATAAiwGTAZsBogGkAawBtAG8AcIBygHSAdoB4AHoAfAB+AH+AQYCDgIWAv4BHgImAi4CNgI+AkUCTQJTAlsCYwJrAnECeQKBAk0CiQKRApkCoQKoArACuALAAsQCzAIwANQC3ALkAjAA7AL0AvwCAQMJAxADGAMwACADJgMuAzYDPgOAAEYDSgNSA1IDUgNaA1oDYANiA2IDgACAAGoDgAByA3YDfgOAAIQDgACKA5IDmgOAAIAAogOqA4AAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAK8DtwOAAIAAvwPHA88D1wPfAyAD5wPsA/QD/AOAAIAABAQMBBIEgAAWBB4EJgQuBDMEIAM7BEEEXgBJBCADUQRZBGEEaQQwADAAcQQ+AXkEgQSJBJEEgACYBIAAoASoBK8EtwQwAL8ExQSAAIAAgACAAIAAgACgAM0EXgBeAF4AXgBeAF4AXgBeANUEXgDZBOEEXgDpBPEE+QQBBQkFEQUZBSEFKQUxBTUFPQVFBUwFVAVcBV4AYwVeAGsFcwV7BYMFiwWSBV4AmgWgBacFXgBeAF4AXgBeAKsFXgCyBbEFugW7BcIFwgXIBcIFwgXQBdQF3AXkBesF8wX7BQMGCwYTBhsGIwYrBjMGOwZeAD8GRwZNBl4AVAZbBl4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAGMGXgBqBnEGXgBeAF4AXgBeAF4AXgBeAF4AXgB5BoAG4wSGBo4GkwaAAIADHgR5AF4AXgBeAJsGgABGA4AAowarBrMGswagALsGwwbLBjAA0wbaBtoG3QbaBtoG2gbaBtoG2gblBusG8wb7BgMHCwcTBxsHCwcjBysHMAc1BzUHOgdCB9oGSgdSB1oHYAfaBloHaAfaBlIH2gbaBtoG2gbaBtoG2gbaBjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHbQdeAF4ANQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQd1B30HNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B4MH2gaKB68EgACAAIAAgACAAIAAgACAAI8HlwdeAJ8HpweAAIAArwe3B14AXgC/B8UHygcwANAH2AfgB4AA6AfwBz4B+AcACFwBCAgPCBcIogEYAR8IJwiAAC8INwg/CCADRwhPCFcIXwhnCEoDGgSAAIAAgABvCHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIhAiLCI4IMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAANQc1BzUHNQc1BzUHNQc1BzUHNQc1B54INQc1B6II2gaqCLIIugiAAIAAvgjGCIAAgACAAIAAgACAAIAAgACAAIAAywiHAYAA0wiAANkI3QjlCO0I9Aj8CIAAgACAAAIJCgkSCRoJIgknCTYHLwk3CZYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiAAIAAAAFAAXgBeAGAAcABeAHwAQACQAKAArQC9AJ4AXgBeAE0A3gBRAN4A7AD8AMwBGgEAAKcBNwEFAUwBXAF4QkhCmEKnArcCgAHHAsABz4LAAcABwAHAAd+C6ABoAG+C/4LAAcABwAHAAc+DF4MAAcAB54M3gweDV4Nng3eDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEeDqABVg6WDqABoQ6gAaABoAHXDvcONw/3DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DncPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB7cPPwlGCU4JMACAAIAAgABWCV4JYQmAAGkJcAl4CXwJgAkwADAAMAAwAIgJgACLCZMJgACZCZ8JowmrCYAAswkwAF4AXgB8AIAAuwkABMMJyQmAAM4JgADVCTAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAqwYWBNkIMAAwADAAMADdCeAJ6AnuCR4E9gkwAP4JBQoNCjAAMACAABUK0wiAAB0KJAosCjQKgAAwADwKQwqAAEsKvQmdCVMKWwowADAAgACAALcEMACAAGMKgABrCjAAMAAwADAAMAAwADAAMAAwADAAMAAeBDAAMAAwADAAMAAwADAAMAAwADAAMAAwAIkEPQFzCnoKiQSCCooKkAqJBJgKoAqkCokEGAGsCrQKvArBCjAAMADJCtEKFQHZCuEK/gHpCvEKMAAwADAAMACAAIwE+QowAIAAPwEBCzAAMAAwADAAMACAAAkLEQswAIAAPwEZCyELgAAOCCkLMAAxCzkLMAAwADAAMAAwADAAXgBeAEELMAAwADAAMAAwADAAMAAwAEkLTQtVC4AAXAtkC4AAiQkwADAAMAAwADAAMAAwADAAbAtxC3kLgAuFC4sLMAAwAJMLlwufCzAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAApwswADAAMACAAIAAgACvC4AAgACAAIAAgACAALcLMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAvwuAAMcLgACAAIAAgACAAIAAyguAAIAAgACAAIAA0QswADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAANkLgACAAIAA4AswADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACJCR4E6AswADAAhwHwC4AA+AsADAgMEAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMACAAIAAGAwdDCUMMAAwAC0MNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQw1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHPQwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADUHNQc1BzUHNQc1BzUHNQc2BzAAMAA5DDUHNQc1BzUHNQc1BzUHNQc1BzUHNQdFDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAATQxSDFoMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAF4AXgBeAF4AXgBeAF4AYgxeAGoMXgBxDHkMfwxeAIUMXgBeAI0MMAAwADAAMAAwAF4AXgCVDJ0MMAAwADAAMABeAF4ApQxeAKsMswy7DF4Awgy9DMoMXgBeAF4AXgBeAF4AXgBeAF4AXgDRDNkMeQBqCeAM3Ax8AOYM7Az0DPgMXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgCgAAANoAAHDQ4NFg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAeDSYNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAC4NMABeAF4ANg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAD4NRg1ODVYNXg1mDTAAbQ0wADAAMAAwADAAMAAwADAA2gbaBtoG2gbaBtoG2gbaBnUNeg3CBYANwgWFDdoGjA3aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gaUDZwNpA2oDdoG2gawDbcNvw3HDdoG2gbPDdYN3A3fDeYN2gbsDfMN2gbaBvoN/g3aBgYODg7aBl4AXgBeABYOXgBeACUG2gYeDl4AJA5eACwO2w3aBtoGMQ45DtoG2gbaBtoGQQ7aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B1EO2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQdZDjUHNQc1BzUHNQc1B2EONQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHaA41BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B3AO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B2EO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBkkOeA6gAKAAoAAwADAAMAAwAKAAoACgAKAAoACgAKAAgA4wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAD//wQABAAEAAQABAAEAAQABAAEAA0AAwABAAEAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAKABMAFwAeABsAGgAeABcAFgASAB4AGwAYAA8AGAAcAEsASwBLAEsASwBLAEsASwBLAEsAGAAYAB4AHgAeABMAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAFgAbABIAHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYADQARAB4ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkAFgAaABsAGwAbAB4AHQAdAB4ATwAXAB4ADQAeAB4AGgAbAE8ATwAOAFAAHQAdAB0ATwBPABcATwBPAE8AFgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwArAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAAQABAANAA0ASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAUAArACsAKwArACsAKwArACsABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAGgAaAFAAUABQAFAAUABMAB4AGwBQAB4AKwArACsABAAEAAQAKwBQAFAAUABQAFAAUAArACsAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUAArAFAAUAArACsABAArAAQABAAEAAQABAArACsAKwArAAQABAArACsABAAEAAQAKwArACsABAArACsAKwArACsAKwArAFAAUABQAFAAKwBQACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwAEAAQAUABQAFAABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQAKwArAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeABsAKwArACsAKwArACsAKwBQAAQABAAEAAQABAAEACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAKwArACsAKwArACsAKwArAAQABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwAEAFAAKwBQAFAAUABQAFAAUAArACsAKwBQAFAAUAArAFAAUABQAFAAKwArACsAUABQACsAUAArAFAAUAArACsAKwBQAFAAKwArACsAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQAKwArACsABAAEAAQAKwAEAAQABAAEACsAKwBQACsAKwArACsAKwArAAQAKwArACsAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAB4AHgAeAB4AHgAeABsAHgArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArAFAAUABQACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAB4AUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArACsAKwArACsAKwArAFAAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwArAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAKwBcAFwAKwBcACsAKwBcACsAKwArACsAKwArAFwAXABcAFwAKwBcAFwAXABcAFwAXABcACsAXABcAFwAKwBcACsAXAArACsAXABcACsAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgArACoAKgBcACsAKwBcAFwAXABcAFwAKwBcACsAKgAqACoAKgAqACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAFwAXABcAFwAUAAOAA4ADgAOAB4ADgAOAAkADgAOAA0ACQATABMAEwATABMACQAeABMAHgAeAB4ABAAEAB4AHgAeAB4AHgAeAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUAANAAQAHgAEAB4ABAAWABEAFgARAAQABABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAAQABAAEAAQABAANAAQABABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsADQANAB4AHgAeAB4AHgAeAAQAHgAeAB4AHgAeAB4AKwAeAB4ADgAOAA0ADgAeAB4AHgAeAB4ACQAJACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgAeAB4AHgBcAFwAXABcAFwAXAAqACoAKgAqAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAKgAqACoAKgAqACoAKgBcAFwAXAAqACoAKgAqAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAXAAqAEsASwBLAEsASwBLAEsASwBLAEsAKgAqACoAKgAqACoAUABQAFAAUABQAFAAKwBQACsAKwArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQACsAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwAEAAQABAAeAA0AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAEQArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAADQANAA0AUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAA0ADQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoADQANABUAXAANAB4ADQAbAFwAKgArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAB4AHgATABMADQANAA4AHgATABMAHgAEAAQABAAJACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAUABQAFAAUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwAeACsAKwArABMAEwBLAEsASwBLAEsASwBLAEsASwBLAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwBcAFwAXABcAFwAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcACsAKwArACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwAeAB4AXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsABABLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKgAqACoAKgAqACoAKgBcACoAKgAqACoAKgAqACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAUABQAFAAUABQAFAAUAArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4ADQANAA0ADQAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAHgAeAB4AHgBQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwANAA0ADQANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwBQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsABAAEAAQAHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAABABQAFAAUABQAAQABAAEAFAAUAAEAAQABAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAKwBQACsAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAKwArAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAKwAeAB4AHgAeAB4AHgAeAA4AHgArAA0ADQANAA0ADQANAA0ACQANAA0ADQAIAAQACwAEAAQADQAJAA0ADQAMAB0AHQAeABcAFwAWABcAFwAXABYAFwAdAB0AHgAeABQAFAAUAA0AAQABAAQABAAEAAQABAAJABoAGgAaABoAGgAaABoAGgAeABcAFwAdABUAFQAeAB4AHgAeAB4AHgAYABYAEQAVABUAFQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgANAB4ADQANAA0ADQAeAA0ADQANAAcAHgAeAB4AHgArAAQABAAEAAQABAAEAAQABAAEAAQAUABQACsAKwBPAFAAUABQAFAAUAAeAB4AHgAWABEATwBQAE8ATwBPAE8AUABQAFAAUABQAB4AHgAeABYAEQArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGgAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgBQABoAHgAdAB4AUAAeABoAHgAeAB4AHgAeAB4AHgAeAB4ATwAeAFAAGwAeAB4AUABQAFAAUABQAB4AHgAeAB0AHQAeAFAAHgBQAB4AUAAeAFAATwBQAFAAHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AUABQAFAAUABPAE8AUABQAFAAUABQAE8AUABQAE8AUABPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAE8ATwBPAE8ATwBPAE8ATwBPAE8AUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAATwAeAB4AKwArACsAKwAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB0AHQAeAB4AHgAdAB0AHgAeAB0AHgAeAB4AHQAeAB0AGwAbAB4AHQAeAB4AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB0AHgAdAB4AHQAdAB0AHQAdAB0AHgAdAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAdAB0AHQAdAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAlACUAHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB0AHQAeAB4AHgAeAB0AHQAdAB4AHgAdAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB0AHQAeAB4AHQAeAB4AHgAeAB0AHQAeAB4AHgAeACUAJQAdAB0AJQAeACUAJQAlACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHQAdAB0AHgAdACUAHQAdAB4AHQAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHQAdAB0AHQAlAB4AJQAlACUAHQAlACUAHQAdAB0AJQAlAB0AHQAlAB0AHQAlACUAJQAeAB0AHgAeAB4AHgAdAB0AJQAdAB0AHQAdAB0AHQAlACUAJQAlACUAHQAlACUAIAAlAB0AHQAlACUAJQAlACUAJQAlACUAHgAeAB4AJQAlACAAIAAgACAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeABcAFwAXABcAFwAXAB4AEwATACUAHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACUAJQBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwArACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAE8ATwBPAE8ATwBPAE8ATwAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeACsAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUAArACsAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQBQAFAAUABQACsAKwArACsAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAABAAEAAQAKwAEAAQAKwArACsAKwArAAQABAAEAAQAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsABAAEAAQAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsADQANAA0ADQANAA0ADQANAB4AKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAUABQAFAAUABQAA0ADQANAA0ADQANABQAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwANAA0ADQANAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAeAAQABAAEAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLACsADQArAB4AKwArAAQABAAEAAQAUABQAB4AUAArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwAEAAQABAAEAAQABAAEAAQABAAOAA0ADQATABMAHgAeAB4ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0AUABQAFAAUAAEAAQAKwArAAQADQANAB4AUAArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXABcAA0ADQANACoASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUAArACsAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANACsADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEcARwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwAeAAQABAANAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAEAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUAArACsAUAArACsAUABQACsAKwBQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAeAB4ADQANAA0ADQAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAArAAQABAArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAEAAQABAAEAAQABAAEACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAFgAWAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAKwBQACsAKwArACsAKwArAFAAKwArACsAKwBQACsAUAArAFAAKwBQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQACsAUAArAFAAKwBQACsAUABQACsAUAArACsAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAUABQAFAAUAArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUAArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAlACUAJQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeACUAJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeACUAJQAlACUAJQAeACUAJQAlACUAJQAgACAAIAAlACUAIAAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIQAhACEAIQAhACUAJQAgACAAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAIAAlACUAJQAlACAAJQAgACAAIAAgACAAIAAgACAAIAAlACUAJQAgACUAJQAlACUAIAAgACAAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeACUAHgAlAB4AJQAlACUAJQAlACAAJQAlACUAJQAeACUAHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAIAAgACAAIAAgAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFwAXABcAFQAVABUAHgAeAB4AHgAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAlACAAIAAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsA'; + + /* @flow */ + var LETTER_NUMBER_MODIFIER = 50; + // Non-tailorable Line Breaking Classes + var BK = 1; // Cause a line break (after) + var CR = 2; // Cause a line break (after), except between CR and LF + var LF = 3; // Cause a line break (after) + var CM = 4; // Prohibit a line break between the character and the preceding character + var NL = 5; // Cause a line break (after) + var WJ = 7; // Prohibit line breaks before and after + var ZW = 8; // Provide a break opportunity + var GL = 9; // Prohibit line breaks before and after + var SP = 10; // Enable indirect line breaks + var ZWJ = 11; // Prohibit line breaks within joiner sequences + // Break Opportunities + var B2 = 12; // Provide a line break opportunity before and after the character + var BA = 13; // Generally provide a line break opportunity after the character + var BB = 14; // Generally provide a line break opportunity before the character + var HY = 15; // Provide a line break opportunity after the character, except in numeric context + var CB = 16; // Provide a line break opportunity contingent on additional information + // Characters Prohibiting Certain Breaks + var CL = 17; // Prohibit line breaks before + var CP = 18; // Prohibit line breaks before + var EX = 19; // Prohibit line breaks before + var IN = 20; // Allow only indirect line breaks between pairs + var NS = 21; // Allow only indirect line breaks before + var OP = 22; // Prohibit line breaks after + var QU = 23; // Act like they are both opening and closing + // Numeric Context + var IS = 24; // Prevent breaks after any and before numeric + var NU = 25; // Form numeric expressions for line breaking purposes + var PO = 26; // Do not break following a numeric expression + var PR = 27; // Do not break in front of a numeric expression + var SY = 28; // Prevent a break before; and allow a break after + // Other Characters + var AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID + var AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters + var CJ = 31; // Treat as NS or ID for strict or normal breaking. + var EB = 32; // Do not break from following Emoji Modifier + var EM = 33; // Do not break from preceding Emoji Base + var H2 = 34; // Form Korean syllable blocks + var H3 = 35; // Form Korean syllable blocks + var HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic + var ID = 37; // Break before or after; except in some numeric context + var JL = 38; // Form Korean syllable blocks + var JV = 39; // Form Korean syllable blocks + var JT = 40; // Form Korean syllable blocks + var RI = 41; // Keep pairs together. For pairs; break before and after other classes + var SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis + var XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions + var BREAK_MANDATORY = '!'; + var BREAK_NOT_ALLOWED = '×'; + var BREAK_ALLOWED = '÷'; + var UnicodeTrie = createTrieFromBase64(base64); + var ALPHABETICS = [AL, HL]; + var HARD_LINE_BREAKS = [BK, CR, LF, NL]; + var SPACE = [SP, ZW]; + var PREFIX_POSTFIX = [PR, PO]; + var LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE); + var KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3]; + var HYPHEN = [HY, BA]; + var codePointsToCharacterClasses = function (codePoints, lineBreak) { + if (lineBreak === void 0) { lineBreak = 'strict'; } + var types = []; + var indicies = []; + var categories = []; + codePoints.forEach(function (codePoint, index) { + var classType = UnicodeTrie.get(codePoint); + if (classType > LETTER_NUMBER_MODIFIER) { + categories.push(true); + classType -= LETTER_NUMBER_MODIFIER; + } + else { + categories.push(false); + } + if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) { + // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0 + if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) { + indicies.push(index); + return types.push(CB); + } + } + if (classType === CM || classType === ZWJ) { + // LB10 Treat any remaining combining mark or ZWJ as AL. + if (index === 0) { + indicies.push(index); + return types.push(AL); + } + // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of + // the base character in all of the following rules. Treat ZWJ as if it were CM. + var prev = types[index - 1]; + if (LINE_BREAKS.indexOf(prev) === -1) { + indicies.push(indicies[index - 1]); + return types.push(prev); + } + indicies.push(index); + return types.push(AL); + } + indicies.push(index); + if (classType === CJ) { + return types.push(lineBreak === 'strict' ? NS : ID); + } + if (classType === SA) { + return types.push(AL); + } + if (classType === AI) { + return types.push(AL); + } + // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL + // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised + // to take into account the actual line breaking properties for these characters. + if (classType === XX) { + if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) { + return types.push(ID); + } + else { + return types.push(AL); + } + } + types.push(classType); + }); + return [indicies, types, categories]; + }; + var isAdjacentWithSpaceIgnored = function (a, b, currentIndex, classTypes) { + var current = classTypes[currentIndex]; + if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) { + var i = currentIndex; + while (i <= classTypes.length) { + i++; + var next = classTypes[i]; + if (next === b) { + return true; + } + if (next !== SP) { + break; + } + } + } + if (current === SP) { + var i = currentIndex; + while (i > 0) { + i--; + var prev = classTypes[i]; + if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) { + var n = currentIndex; + while (n <= classTypes.length) { + n++; + var next = classTypes[n]; + if (next === b) { + return true; + } + if (next !== SP) { + break; + } + } + } + if (prev !== SP) { + break; + } + } + } + return false; + }; + var previousNonSpaceClassType = function (currentIndex, classTypes) { + var i = currentIndex; + while (i >= 0) { + var type = classTypes[i]; + if (type === SP) { + i--; + } + else { + return type; + } + } + return 0; + }; + var _lineBreakAtIndex = function (codePoints, classTypes, indicies, index, forbiddenBreaks) { + if (indicies[index] === 0) { + return BREAK_NOT_ALLOWED; + } + var currentIndex = index - 1; + if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) { + return BREAK_NOT_ALLOWED; + } + var beforeIndex = currentIndex - 1; + var afterIndex = currentIndex + 1; + var current = classTypes[currentIndex]; + // LB4 Always break after hard line breaks. + // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks. + var before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0; + var next = classTypes[afterIndex]; + if (current === CR && next === LF) { + return BREAK_NOT_ALLOWED; + } + if (HARD_LINE_BREAKS.indexOf(current) !== -1) { + return BREAK_MANDATORY; + } + // LB6 Do not break before hard line breaks. + if (HARD_LINE_BREAKS.indexOf(next) !== -1) { + return BREAK_NOT_ALLOWED; + } + // LB7 Do not break before spaces or zero width space. + if (SPACE.indexOf(next) !== -1) { + return BREAK_NOT_ALLOWED; + } + // LB8 Break before any character following a zero-width space, even if one or more spaces intervene. + if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) { + return BREAK_ALLOWED; + } + // LB8a Do not break between a zero width joiner and an ideograph, emoji base or emoji modifier. + if (UnicodeTrie.get(codePoints[currentIndex]) === ZWJ && (next === ID || next === EB || next === EM)) { + return BREAK_NOT_ALLOWED; + } + // LB11 Do not break before or after Word joiner and related characters. + if (current === WJ || next === WJ) { + return BREAK_NOT_ALLOWED; + } + // LB12 Do not break after NBSP and related characters. + if (current === GL) { + return BREAK_NOT_ALLOWED; + } + // LB12a Do not break before NBSP and related characters, except after spaces and hyphens. + if ([SP, BA, HY].indexOf(current) === -1 && next === GL) { + return BREAK_NOT_ALLOWED; + } + // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces. + if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) { + return BREAK_NOT_ALLOWED; + } + // LB14 Do not break after ‘[’, even after spaces. + if (previousNonSpaceClassType(currentIndex, classTypes) === OP) { + return BREAK_NOT_ALLOWED; + } + // LB15 Do not break within ‘”[’, even with intervening spaces. + if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) { + return BREAK_NOT_ALLOWED; + } + // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces. + if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) { + return BREAK_NOT_ALLOWED; + } + // LB17 Do not break within ‘——’, even with intervening spaces. + if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) { + return BREAK_NOT_ALLOWED; + } + // LB18 Break after spaces. + if (current === SP) { + return BREAK_ALLOWED; + } + // LB19 Do not break before or after quotation marks, such as ‘ ” ’. + if (current === QU || next === QU) { + return BREAK_NOT_ALLOWED; + } + // LB20 Break before and after unresolved CB. + if (next === CB || current === CB) { + return BREAK_ALLOWED; + } + // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents. + if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) { + return BREAK_NOT_ALLOWED; + } + // LB21a Don't break after Hebrew + Hyphen. + if (before === HL && HYPHEN.indexOf(current) !== -1) { + return BREAK_NOT_ALLOWED; + } + // LB21b Don’t break between Solidus and Hebrew letters. + if (current === SY && next === HL) { + return BREAK_NOT_ALLOWED; + } + // LB22 Do not break between two ellipses, or between letters, numbers or exclamations and ellipsis. + if (next === IN && ALPHABETICS.concat(IN, EX, NU, ID, EB, EM).indexOf(current) !== -1) { + return BREAK_NOT_ALLOWED; + } + // LB23 Do not break between digits and letters. + if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) { + return BREAK_NOT_ALLOWED; + } + // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes. + if ((current === PR && [ID, EB, EM].indexOf(next) !== -1) || + ([ID, EB, EM].indexOf(current) !== -1 && next === PO)) { + return BREAK_NOT_ALLOWED; + } + // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix. + if ((ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) || + (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)) { + return BREAK_NOT_ALLOWED; + } + // LB25 Do not break between the following pairs of classes relevant to numbers: + if ( + // (PR | PO) × ( OP | HY )? NU + ([PR, PO].indexOf(current) !== -1 && + (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) || + // ( OP | HY ) × NU + ([OP, HY].indexOf(current) !== -1 && next === NU) || + // NU × (NU | SY | IS) + (current === NU && [NU, SY, IS].indexOf(next) !== -1)) { + return BREAK_NOT_ALLOWED; + } + // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP) + if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) { + var prevIndex = currentIndex; + while (prevIndex >= 0) { + var type = classTypes[prevIndex]; + if (type === NU) { + return BREAK_NOT_ALLOWED; + } + else if ([SY, IS].indexOf(type) !== -1) { + prevIndex--; + } + else { + break; + } + } + } + // NU (NU | SY | IS)* (CL | CP)? × (PO | PR)) + if ([PR, PO].indexOf(next) !== -1) { + var prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex; + while (prevIndex >= 0) { + var type = classTypes[prevIndex]; + if (type === NU) { + return BREAK_NOT_ALLOWED; + } + else if ([SY, IS].indexOf(type) !== -1) { + prevIndex--; + } + else { + break; + } + } + } + // LB26 Do not break a Korean syllable. + if ((JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) || + ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) || + ([JT, H3].indexOf(current) !== -1 && next === JT)) { + return BREAK_NOT_ALLOWED; + } + // LB27 Treat a Korean Syllable Block the same as ID. + if ((KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) || + (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)) { + return BREAK_NOT_ALLOWED; + } + // LB28 Do not break between alphabetics (“at”). + if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) { + return BREAK_NOT_ALLOWED; + } + // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”). + if (current === IS && ALPHABETICS.indexOf(next) !== -1) { + return BREAK_NOT_ALLOWED; + } + // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses. + if ((ALPHABETICS.concat(NU).indexOf(current) !== -1 && next === OP) || + (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)) { + return BREAK_NOT_ALLOWED; + } + // LB30a Break between two regional indicator symbols if and only if there are an even number of regional + // indicators preceding the position of the break. + if (current === RI && next === RI) { + var i = indicies[currentIndex]; + var count = 1; + while (i > 0) { + i--; + if (classTypes[i] === RI) { + count++; + } + else { + break; + } + } + if (count % 2 !== 0) { + return BREAK_NOT_ALLOWED; + } + } + // LB30b Do not break between an emoji base and an emoji modifier. + if (current === EB && next === EM) { + return BREAK_NOT_ALLOWED; + } + return BREAK_ALLOWED; + }; + var cssFormattedClasses = function (codePoints, options) { + if (!options) { + options = { lineBreak: 'normal', wordBreak: 'normal' }; + } + var _a = codePointsToCharacterClasses(codePoints, options.lineBreak), indicies = _a[0], classTypes = _a[1], isLetterNumber = _a[2]; + if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') { + classTypes = classTypes.map(function (type) { return ([NU, AL, SA].indexOf(type) !== -1 ? ID : type); }); + } + var forbiddenBreakpoints = options.wordBreak === 'keep-all' + ? isLetterNumber.map(function (letterNumber, i) { + return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff; + }) + : undefined; + return [indicies, classTypes, forbiddenBreakpoints]; + }; + var Break = /** @class */ (function () { + function Break(codePoints, lineBreak, start, end) { + this.codePoints = codePoints; + this.required = lineBreak === BREAK_MANDATORY; + this.start = start; + this.end = end; + } + Break.prototype.slice = function () { + return fromCodePoint.apply(void 0, this.codePoints.slice(this.start, this.end)); + }; + return Break; + }()); + var LineBreaker = function (str, options) { + var codePoints = toCodePoints(str); + var _a = cssFormattedClasses(codePoints, options), indicies = _a[0], classTypes = _a[1], forbiddenBreakpoints = _a[2]; + var length = codePoints.length; + var lastEnd = 0; + var nextIndex = 0; + return { + next: function () { + if (nextIndex >= length) { + return { done: true, value: null }; + } + var lineBreak = BREAK_NOT_ALLOWED; + while (nextIndex < length && + (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) === + BREAK_NOT_ALLOWED) { } + if (lineBreak !== BREAK_NOT_ALLOWED || nextIndex === length) { + var value = new Break(codePoints, lineBreak, lastEnd, nextIndex); + lastEnd = nextIndex; + return { value: value, done: false }; + } + return { done: true, value: null }; + }, + }; + }; + + // https://www.w3.org/TR/css-syntax-3 + var TokenType; + (function (TokenType) { + TokenType[TokenType["STRING_TOKEN"] = 0] = "STRING_TOKEN"; + TokenType[TokenType["BAD_STRING_TOKEN"] = 1] = "BAD_STRING_TOKEN"; + TokenType[TokenType["LEFT_PARENTHESIS_TOKEN"] = 2] = "LEFT_PARENTHESIS_TOKEN"; + TokenType[TokenType["RIGHT_PARENTHESIS_TOKEN"] = 3] = "RIGHT_PARENTHESIS_TOKEN"; + TokenType[TokenType["COMMA_TOKEN"] = 4] = "COMMA_TOKEN"; + TokenType[TokenType["HASH_TOKEN"] = 5] = "HASH_TOKEN"; + TokenType[TokenType["DELIM_TOKEN"] = 6] = "DELIM_TOKEN"; + TokenType[TokenType["AT_KEYWORD_TOKEN"] = 7] = "AT_KEYWORD_TOKEN"; + TokenType[TokenType["PREFIX_MATCH_TOKEN"] = 8] = "PREFIX_MATCH_TOKEN"; + TokenType[TokenType["DASH_MATCH_TOKEN"] = 9] = "DASH_MATCH_TOKEN"; + TokenType[TokenType["INCLUDE_MATCH_TOKEN"] = 10] = "INCLUDE_MATCH_TOKEN"; + TokenType[TokenType["LEFT_CURLY_BRACKET_TOKEN"] = 11] = "LEFT_CURLY_BRACKET_TOKEN"; + TokenType[TokenType["RIGHT_CURLY_BRACKET_TOKEN"] = 12] = "RIGHT_CURLY_BRACKET_TOKEN"; + TokenType[TokenType["SUFFIX_MATCH_TOKEN"] = 13] = "SUFFIX_MATCH_TOKEN"; + TokenType[TokenType["SUBSTRING_MATCH_TOKEN"] = 14] = "SUBSTRING_MATCH_TOKEN"; + TokenType[TokenType["DIMENSION_TOKEN"] = 15] = "DIMENSION_TOKEN"; + TokenType[TokenType["PERCENTAGE_TOKEN"] = 16] = "PERCENTAGE_TOKEN"; + TokenType[TokenType["NUMBER_TOKEN"] = 17] = "NUMBER_TOKEN"; + TokenType[TokenType["FUNCTION"] = 18] = "FUNCTION"; + TokenType[TokenType["FUNCTION_TOKEN"] = 19] = "FUNCTION_TOKEN"; + TokenType[TokenType["IDENT_TOKEN"] = 20] = "IDENT_TOKEN"; + TokenType[TokenType["COLUMN_TOKEN"] = 21] = "COLUMN_TOKEN"; + TokenType[TokenType["URL_TOKEN"] = 22] = "URL_TOKEN"; + TokenType[TokenType["BAD_URL_TOKEN"] = 23] = "BAD_URL_TOKEN"; + TokenType[TokenType["CDC_TOKEN"] = 24] = "CDC_TOKEN"; + TokenType[TokenType["CDO_TOKEN"] = 25] = "CDO_TOKEN"; + TokenType[TokenType["COLON_TOKEN"] = 26] = "COLON_TOKEN"; + TokenType[TokenType["SEMICOLON_TOKEN"] = 27] = "SEMICOLON_TOKEN"; + TokenType[TokenType["LEFT_SQUARE_BRACKET_TOKEN"] = 28] = "LEFT_SQUARE_BRACKET_TOKEN"; + TokenType[TokenType["RIGHT_SQUARE_BRACKET_TOKEN"] = 29] = "RIGHT_SQUARE_BRACKET_TOKEN"; + TokenType[TokenType["UNICODE_RANGE_TOKEN"] = 30] = "UNICODE_RANGE_TOKEN"; + TokenType[TokenType["WHITESPACE_TOKEN"] = 31] = "WHITESPACE_TOKEN"; + TokenType[TokenType["EOF_TOKEN"] = 32] = "EOF_TOKEN"; + })(TokenType || (TokenType = {})); + var FLAG_UNRESTRICTED = 1 << 0; + var FLAG_ID = 1 << 1; + var FLAG_INTEGER = 1 << 2; + var FLAG_NUMBER = 1 << 3; + var LINE_FEED = 0x000a; + var SOLIDUS = 0x002f; + var REVERSE_SOLIDUS = 0x005c; + var CHARACTER_TABULATION = 0x0009; + var SPACE$1 = 0x0020; + var QUOTATION_MARK = 0x0022; + var EQUALS_SIGN = 0x003d; + var NUMBER_SIGN = 0x0023; + var DOLLAR_SIGN = 0x0024; + var PERCENTAGE_SIGN = 0x0025; + var APOSTROPHE = 0x0027; + var LEFT_PARENTHESIS = 0x0028; + var RIGHT_PARENTHESIS = 0x0029; + var LOW_LINE = 0x005f; + var HYPHEN_MINUS = 0x002d; + var EXCLAMATION_MARK = 0x0021; + var LESS_THAN_SIGN = 0x003c; + var GREATER_THAN_SIGN = 0x003e; + var COMMERCIAL_AT = 0x0040; + var LEFT_SQUARE_BRACKET = 0x005b; + var RIGHT_SQUARE_BRACKET = 0x005d; + var CIRCUMFLEX_ACCENT = 0x003d; + var LEFT_CURLY_BRACKET = 0x007b; + var QUESTION_MARK = 0x003f; + var RIGHT_CURLY_BRACKET = 0x007d; + var VERTICAL_LINE = 0x007c; + var TILDE = 0x007e; + var CONTROL = 0x0080; + var REPLACEMENT_CHARACTER = 0xfffd; + var ASTERISK = 0x002a; + var PLUS_SIGN = 0x002b; + var COMMA = 0x002c; + var COLON = 0x003a; + var SEMICOLON = 0x003b; + var FULL_STOP = 0x002e; + var NULL = 0x0000; + var BACKSPACE = 0x0008; + var LINE_TABULATION = 0x000b; + var SHIFT_OUT = 0x000e; + var INFORMATION_SEPARATOR_ONE = 0x001f; + var DELETE = 0x007f; + var EOF = -1; + var ZERO = 0x0030; + var a = 0x0061; + var e = 0x0065; + var f = 0x0066; + var u = 0x0075; + var z = 0x007a; + var A = 0x0041; + var E = 0x0045; + var F = 0x0046; + var U = 0x0055; + var Z = 0x005a; + var isDigit = function (codePoint) { return codePoint >= ZERO && codePoint <= 0x0039; }; + var isSurrogateCodePoint = function (codePoint) { return codePoint >= 0xd800 && codePoint <= 0xdfff; }; + var isHex = function (codePoint) { + return isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f); + }; + var isLowerCaseLetter = function (codePoint) { return codePoint >= a && codePoint <= z; }; + var isUpperCaseLetter = function (codePoint) { return codePoint >= A && codePoint <= Z; }; + var isLetter = function (codePoint) { return isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint); }; + var isNonASCIICodePoint = function (codePoint) { return codePoint >= CONTROL; }; + var isWhiteSpace = function (codePoint) { + return codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE$1; + }; + var isNameStartCodePoint = function (codePoint) { + return isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE; + }; + var isNameCodePoint = function (codePoint) { + return isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS; + }; + var isNonPrintableCodePoint = function (codePoint) { + return ((codePoint >= NULL && codePoint <= BACKSPACE) || + codePoint === LINE_TABULATION || + (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) || + codePoint === DELETE); + }; + var isValidEscape = function (c1, c2) { + if (c1 !== REVERSE_SOLIDUS) { + return false; + } + return c2 !== LINE_FEED; + }; + var isIdentifierStart = function (c1, c2, c3) { + if (c1 === HYPHEN_MINUS) { + return isNameStartCodePoint(c2) || isValidEscape(c2, c3); + } + else if (isNameStartCodePoint(c1)) { + return true; + } + else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) { + return true; + } + return false; + }; + var isNumberStart = function (c1, c2, c3) { + if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) { + if (isDigit(c2)) { + return true; + } + return c2 === FULL_STOP && isDigit(c3); + } + if (c1 === FULL_STOP) { + return isDigit(c2); + } + return isDigit(c1); + }; + var stringToNumber = function (codePoints) { + var c = 0; + var sign = 1; + if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) { + if (codePoints[c] === HYPHEN_MINUS) { + sign = -1; + } + c++; + } + var integers = []; + while (isDigit(codePoints[c])) { + integers.push(codePoints[c++]); + } + var int = integers.length ? parseInt(fromCodePoint.apply(void 0, integers), 10) : 0; + if (codePoints[c] === FULL_STOP) { + c++; + } + var fraction = []; + while (isDigit(codePoints[c])) { + fraction.push(codePoints[c++]); + } + var fracd = fraction.length; + var frac = fracd ? parseInt(fromCodePoint.apply(void 0, fraction), 10) : 0; + if (codePoints[c] === E || codePoints[c] === e) { + c++; + } + var expsign = 1; + if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) { + if (codePoints[c] === HYPHEN_MINUS) { + expsign = -1; + } + c++; + } + var exponent = []; + while (isDigit(codePoints[c])) { + exponent.push(codePoints[c++]); + } + var exp = exponent.length ? parseInt(fromCodePoint.apply(void 0, exponent), 10) : 0; + return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp); + }; + var LEFT_PARENTHESIS_TOKEN = { + type: TokenType.LEFT_PARENTHESIS_TOKEN + }; + var RIGHT_PARENTHESIS_TOKEN = { + type: TokenType.RIGHT_PARENTHESIS_TOKEN + }; + var COMMA_TOKEN = { type: TokenType.COMMA_TOKEN }; + var SUFFIX_MATCH_TOKEN = { type: TokenType.SUFFIX_MATCH_TOKEN }; + var PREFIX_MATCH_TOKEN = { type: TokenType.PREFIX_MATCH_TOKEN }; + var COLUMN_TOKEN = { type: TokenType.COLUMN_TOKEN }; + var DASH_MATCH_TOKEN = { type: TokenType.DASH_MATCH_TOKEN }; + var INCLUDE_MATCH_TOKEN = { type: TokenType.INCLUDE_MATCH_TOKEN }; + var LEFT_CURLY_BRACKET_TOKEN = { + type: TokenType.LEFT_CURLY_BRACKET_TOKEN + }; + var RIGHT_CURLY_BRACKET_TOKEN = { + type: TokenType.RIGHT_CURLY_BRACKET_TOKEN + }; + var SUBSTRING_MATCH_TOKEN = { type: TokenType.SUBSTRING_MATCH_TOKEN }; + var BAD_URL_TOKEN = { type: TokenType.BAD_URL_TOKEN }; + var BAD_STRING_TOKEN = { type: TokenType.BAD_STRING_TOKEN }; + var CDO_TOKEN = { type: TokenType.CDO_TOKEN }; + var CDC_TOKEN = { type: TokenType.CDC_TOKEN }; + var COLON_TOKEN = { type: TokenType.COLON_TOKEN }; + var SEMICOLON_TOKEN = { type: TokenType.SEMICOLON_TOKEN }; + var LEFT_SQUARE_BRACKET_TOKEN = { + type: TokenType.LEFT_SQUARE_BRACKET_TOKEN + }; + var RIGHT_SQUARE_BRACKET_TOKEN = { + type: TokenType.RIGHT_SQUARE_BRACKET_TOKEN + }; + var WHITESPACE_TOKEN = { type: TokenType.WHITESPACE_TOKEN }; + var EOF_TOKEN = { type: TokenType.EOF_TOKEN }; + var Tokenizer = /** @class */ (function () { + function Tokenizer() { + this._value = []; + } + Tokenizer.prototype.write = function (chunk) { + this._value = this._value.concat(toCodePoints(chunk)); + }; + Tokenizer.prototype.read = function () { + var tokens = []; + var token = this.consumeToken(); + while (token !== EOF_TOKEN) { + tokens.push(token); + token = this.consumeToken(); + } + return tokens; + }; + Tokenizer.prototype.consumeToken = function () { + var codePoint = this.consumeCodePoint(); + switch (codePoint) { + case QUOTATION_MARK: + return this.consumeStringToken(QUOTATION_MARK); + case NUMBER_SIGN: + var c1 = this.peekCodePoint(0); + var c2 = this.peekCodePoint(1); + var c3 = this.peekCodePoint(2); + if (isNameCodePoint(c1) || isValidEscape(c2, c3)) { + var flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED; + var value = this.consumeName(); + return { type: TokenType.HASH_TOKEN, value: value, flags: flags }; + } + break; + case DOLLAR_SIGN: + if (this.peekCodePoint(0) === EQUALS_SIGN) { + this.consumeCodePoint(); + return SUFFIX_MATCH_TOKEN; + } + break; + case APOSTROPHE: + return this.consumeStringToken(APOSTROPHE); + case LEFT_PARENTHESIS: + return LEFT_PARENTHESIS_TOKEN; + case RIGHT_PARENTHESIS: + return RIGHT_PARENTHESIS_TOKEN; + case ASTERISK: + if (this.peekCodePoint(0) === EQUALS_SIGN) { + this.consumeCodePoint(); + return SUBSTRING_MATCH_TOKEN; + } + break; + case PLUS_SIGN: + if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) { + this.reconsumeCodePoint(codePoint); + return this.consumeNumericToken(); + } + break; + case COMMA: + return COMMA_TOKEN; + case HYPHEN_MINUS: + var e1 = codePoint; + var e2 = this.peekCodePoint(0); + var e3 = this.peekCodePoint(1); + if (isNumberStart(e1, e2, e3)) { + this.reconsumeCodePoint(codePoint); + return this.consumeNumericToken(); + } + if (isIdentifierStart(e1, e2, e3)) { + this.reconsumeCodePoint(codePoint); + return this.consumeIdentLikeToken(); + } + if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) { + this.consumeCodePoint(); + this.consumeCodePoint(); + return CDC_TOKEN; + } + break; + case FULL_STOP: + if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) { + this.reconsumeCodePoint(codePoint); + return this.consumeNumericToken(); + } + break; + case SOLIDUS: + if (this.peekCodePoint(0) === ASTERISK) { + this.consumeCodePoint(); + while (true) { + var c = this.consumeCodePoint(); + if (c === ASTERISK) { + c = this.consumeCodePoint(); + if (c === SOLIDUS) { + return this.consumeToken(); + } + } + if (c === EOF) { + return this.consumeToken(); + } + } + } + break; + case COLON: + return COLON_TOKEN; + case SEMICOLON: + return SEMICOLON_TOKEN; + case LESS_THAN_SIGN: + if (this.peekCodePoint(0) === EXCLAMATION_MARK && + this.peekCodePoint(1) === HYPHEN_MINUS && + this.peekCodePoint(2) === HYPHEN_MINUS) { + this.consumeCodePoint(); + this.consumeCodePoint(); + return CDO_TOKEN; + } + break; + case COMMERCIAL_AT: + var a1 = this.peekCodePoint(0); + var a2 = this.peekCodePoint(1); + var a3 = this.peekCodePoint(2); + if (isIdentifierStart(a1, a2, a3)) { + var value = this.consumeName(); + return { type: TokenType.AT_KEYWORD_TOKEN, value: value }; + } + break; + case LEFT_SQUARE_BRACKET: + return LEFT_SQUARE_BRACKET_TOKEN; + case REVERSE_SOLIDUS: + if (isValidEscape(codePoint, this.peekCodePoint(0))) { + this.reconsumeCodePoint(codePoint); + return this.consumeIdentLikeToken(); + } + break; + case RIGHT_SQUARE_BRACKET: + return RIGHT_SQUARE_BRACKET_TOKEN; + case CIRCUMFLEX_ACCENT: + if (this.peekCodePoint(0) === EQUALS_SIGN) { + this.consumeCodePoint(); + return PREFIX_MATCH_TOKEN; + } + break; + case LEFT_CURLY_BRACKET: + return LEFT_CURLY_BRACKET_TOKEN; + case RIGHT_CURLY_BRACKET: + return RIGHT_CURLY_BRACKET_TOKEN; + case u: + case U: + var u1 = this.peekCodePoint(0); + var u2 = this.peekCodePoint(1); + if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) { + this.consumeCodePoint(); + this.consumeUnicodeRangeToken(); + } + this.reconsumeCodePoint(codePoint); + return this.consumeIdentLikeToken(); + case VERTICAL_LINE: + if (this.peekCodePoint(0) === EQUALS_SIGN) { + this.consumeCodePoint(); + return DASH_MATCH_TOKEN; + } + if (this.peekCodePoint(0) === VERTICAL_LINE) { + this.consumeCodePoint(); + return COLUMN_TOKEN; + } + break; + case TILDE: + if (this.peekCodePoint(0) === EQUALS_SIGN) { + this.consumeCodePoint(); + return INCLUDE_MATCH_TOKEN; + } + break; + case EOF: + return EOF_TOKEN; + } + if (isWhiteSpace(codePoint)) { + this.consumeWhiteSpace(); + return WHITESPACE_TOKEN; + } + if (isDigit(codePoint)) { + this.reconsumeCodePoint(codePoint); + return this.consumeNumericToken(); + } + if (isNameStartCodePoint(codePoint)) { + this.reconsumeCodePoint(codePoint); + return this.consumeIdentLikeToken(); + } + return { type: TokenType.DELIM_TOKEN, value: fromCodePoint(codePoint) }; + }; + Tokenizer.prototype.consumeCodePoint = function () { + var value = this._value.shift(); + return typeof value === 'undefined' ? -1 : value; + }; + Tokenizer.prototype.reconsumeCodePoint = function (codePoint) { + this._value.unshift(codePoint); + }; + Tokenizer.prototype.peekCodePoint = function (delta) { + if (delta >= this._value.length) { + return -1; + } + return this._value[delta]; + }; + Tokenizer.prototype.consumeUnicodeRangeToken = function () { + var digits = []; + var codePoint = this.consumeCodePoint(); + while (isHex(codePoint) && digits.length < 6) { + digits.push(codePoint); + codePoint = this.consumeCodePoint(); + } + var questionMarks = false; + while (codePoint === QUESTION_MARK && digits.length < 6) { + digits.push(codePoint); + codePoint = this.consumeCodePoint(); + questionMarks = true; + } + if (questionMarks) { + var start_1 = parseInt(fromCodePoint.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? ZERO : digit); })), 16); + var end = parseInt(fromCodePoint.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? F : digit); })), 16); + return { type: TokenType.UNICODE_RANGE_TOKEN, start: start_1, end: end }; + } + var start = parseInt(fromCodePoint.apply(void 0, digits), 16); + if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) { + this.consumeCodePoint(); + codePoint = this.consumeCodePoint(); + var endDigits = []; + while (isHex(codePoint) && endDigits.length < 6) { + endDigits.push(codePoint); + codePoint = this.consumeCodePoint(); + } + var end = parseInt(fromCodePoint.apply(void 0, endDigits), 16); + return { type: TokenType.UNICODE_RANGE_TOKEN, start: start, end: end }; + } + else { + return { type: TokenType.UNICODE_RANGE_TOKEN, start: start, end: start }; + } + }; + Tokenizer.prototype.consumeIdentLikeToken = function () { + var value = this.consumeName(); + if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) { + this.consumeCodePoint(); + return this.consumeUrlToken(); + } + else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) { + this.consumeCodePoint(); + return { type: TokenType.FUNCTION_TOKEN, value: value }; + } + return { type: TokenType.IDENT_TOKEN, value: value }; + }; + Tokenizer.prototype.consumeUrlToken = function () { + var value = []; + this.consumeWhiteSpace(); + if (this.peekCodePoint(0) === EOF) { + return { type: TokenType.URL_TOKEN, value: '' }; + } + var next = this.peekCodePoint(0); + if (next === APOSTROPHE || next === QUOTATION_MARK) { + var stringToken = this.consumeStringToken(this.consumeCodePoint()); + if (stringToken.type === TokenType.STRING_TOKEN) { + this.consumeWhiteSpace(); + if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) { + this.consumeCodePoint(); + return { type: TokenType.URL_TOKEN, value: stringToken.value }; + } + } + this.consumeBadUrlRemnants(); + return BAD_URL_TOKEN; + } + while (true) { + var codePoint = this.consumeCodePoint(); + if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) { + return { type: TokenType.URL_TOKEN, value: fromCodePoint.apply(void 0, value) }; + } + else if (isWhiteSpace(codePoint)) { + this.consumeWhiteSpace(); + if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) { + this.consumeCodePoint(); + return { type: TokenType.URL_TOKEN, value: fromCodePoint.apply(void 0, value) }; + } + this.consumeBadUrlRemnants(); + return BAD_URL_TOKEN; + } + else if (codePoint === QUOTATION_MARK || + codePoint === APOSTROPHE || + codePoint === LEFT_PARENTHESIS || + isNonPrintableCodePoint(codePoint)) { + this.consumeBadUrlRemnants(); + return BAD_URL_TOKEN; + } + else if (codePoint === REVERSE_SOLIDUS) { + if (isValidEscape(codePoint, this.peekCodePoint(0))) { + value.push(this.consumeEscapedCodePoint()); + } + else { + this.consumeBadUrlRemnants(); + return BAD_URL_TOKEN; + } + } + else { + value.push(codePoint); + } + } + }; + Tokenizer.prototype.consumeWhiteSpace = function () { + while (isWhiteSpace(this.peekCodePoint(0))) { + this.consumeCodePoint(); + } + }; + Tokenizer.prototype.consumeBadUrlRemnants = function () { + while (true) { + var codePoint = this.consumeCodePoint(); + if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) { + return; + } + if (isValidEscape(codePoint, this.peekCodePoint(0))) { + this.consumeEscapedCodePoint(); + } + } + }; + Tokenizer.prototype.consumeStringSlice = function (count) { + var SLICE_STACK_SIZE = 60000; + var value = ''; + while (count > 0) { + var amount = Math.min(SLICE_STACK_SIZE, count); + value += fromCodePoint.apply(void 0, this._value.splice(0, amount)); + count -= amount; + } + this._value.shift(); + return value; + }; + Tokenizer.prototype.consumeStringToken = function (endingCodePoint) { + var value = ''; + var i = 0; + do { + var codePoint = this._value[i]; + if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) { + value += this.consumeStringSlice(i); + return { type: TokenType.STRING_TOKEN, value: value }; + } + if (codePoint === LINE_FEED) { + this._value.splice(0, i); + return BAD_STRING_TOKEN; + } + if (codePoint === REVERSE_SOLIDUS) { + var next = this._value[i + 1]; + if (next !== EOF && next !== undefined) { + if (next === LINE_FEED) { + value += this.consumeStringSlice(i); + i = -1; + this._value.shift(); + } + else if (isValidEscape(codePoint, next)) { + value += this.consumeStringSlice(i); + value += fromCodePoint(this.consumeEscapedCodePoint()); + i = -1; + } + } + } + i++; + } while (true); + }; + Tokenizer.prototype.consumeNumber = function () { + var repr = []; + var type = FLAG_INTEGER; + var c1 = this.peekCodePoint(0); + if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) { + repr.push(this.consumeCodePoint()); + } + while (isDigit(this.peekCodePoint(0))) { + repr.push(this.consumeCodePoint()); + } + c1 = this.peekCodePoint(0); + var c2 = this.peekCodePoint(1); + if (c1 === FULL_STOP && isDigit(c2)) { + repr.push(this.consumeCodePoint(), this.consumeCodePoint()); + type = FLAG_NUMBER; + while (isDigit(this.peekCodePoint(0))) { + repr.push(this.consumeCodePoint()); + } + } + c1 = this.peekCodePoint(0); + c2 = this.peekCodePoint(1); + var c3 = this.peekCodePoint(2); + if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) { + repr.push(this.consumeCodePoint(), this.consumeCodePoint()); + type = FLAG_NUMBER; + while (isDigit(this.peekCodePoint(0))) { + repr.push(this.consumeCodePoint()); + } + } + return [stringToNumber(repr), type]; + }; + Tokenizer.prototype.consumeNumericToken = function () { + var _a = this.consumeNumber(), number = _a[0], flags = _a[1]; + var c1 = this.peekCodePoint(0); + var c2 = this.peekCodePoint(1); + var c3 = this.peekCodePoint(2); + if (isIdentifierStart(c1, c2, c3)) { + var unit = this.consumeName(); + return { type: TokenType.DIMENSION_TOKEN, number: number, flags: flags, unit: unit }; + } + if (c1 === PERCENTAGE_SIGN) { + this.consumeCodePoint(); + return { type: TokenType.PERCENTAGE_TOKEN, number: number, flags: flags }; + } + return { type: TokenType.NUMBER_TOKEN, number: number, flags: flags }; + }; + Tokenizer.prototype.consumeEscapedCodePoint = function () { + var codePoint = this.consumeCodePoint(); + if (isHex(codePoint)) { + var hex = fromCodePoint(codePoint); + while (isHex(this.peekCodePoint(0)) && hex.length < 6) { + hex += fromCodePoint(this.consumeCodePoint()); + } + if (isWhiteSpace(this.peekCodePoint(0))) { + this.consumeCodePoint(); + } + var hexCodePoint = parseInt(hex, 16); + if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) { + return REPLACEMENT_CHARACTER; + } + return hexCodePoint; + } + if (codePoint === EOF) { + return REPLACEMENT_CHARACTER; + } + return codePoint; + }; + Tokenizer.prototype.consumeName = function () { + var result = ''; + while (true) { + var codePoint = this.consumeCodePoint(); + if (isNameCodePoint(codePoint)) { + result += fromCodePoint(codePoint); + } + else if (isValidEscape(codePoint, this.peekCodePoint(0))) { + result += fromCodePoint(this.consumeEscapedCodePoint()); + } + else { + this.reconsumeCodePoint(codePoint); + return result; + } + } + }; + return Tokenizer; + }()); + + var Parser = /** @class */ (function () { + function Parser(tokens) { + this._tokens = tokens; + } + Parser.create = function (value) { + var tokenizer = new Tokenizer(); + tokenizer.write(value); + return new Parser(tokenizer.read()); + }; + Parser.parseValue = function (value) { + return Parser.create(value).parseComponentValue(); + }; + Parser.parseValues = function (value) { + return Parser.create(value).parseComponentValues(); + }; + Parser.prototype.parseComponentValue = function () { + var token = this.consumeToken(); + while (token.type === TokenType.WHITESPACE_TOKEN) { + token = this.consumeToken(); + } + if (token.type === TokenType.EOF_TOKEN) { + throw new SyntaxError("Error parsing CSS component value, unexpected EOF"); + } + this.reconsumeToken(token); + var value = this.consumeComponentValue(); + do { + token = this.consumeToken(); + } while (token.type === TokenType.WHITESPACE_TOKEN); + if (token.type === TokenType.EOF_TOKEN) { + return value; + } + throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one"); + }; + Parser.prototype.parseComponentValues = function () { + var values = []; + while (true) { + var value = this.consumeComponentValue(); + if (value.type === TokenType.EOF_TOKEN) { + return values; + } + values.push(value); + values.push(); + } + }; + Parser.prototype.consumeComponentValue = function () { + var token = this.consumeToken(); + switch (token.type) { + case TokenType.LEFT_CURLY_BRACKET_TOKEN: + case TokenType.LEFT_SQUARE_BRACKET_TOKEN: + case TokenType.LEFT_PARENTHESIS_TOKEN: + return this.consumeSimpleBlock(token.type); + case TokenType.FUNCTION_TOKEN: + return this.consumeFunction(token); + } + return token; + }; + Parser.prototype.consumeSimpleBlock = function (type) { + var block = { type: type, values: [] }; + var token = this.consumeToken(); + while (true) { + if (token.type === TokenType.EOF_TOKEN || isEndingTokenFor(token, type)) { + return block; + } + this.reconsumeToken(token); + block.values.push(this.consumeComponentValue()); + token = this.consumeToken(); + } + }; + Parser.prototype.consumeFunction = function (functionToken) { + var cssFunction = { + name: functionToken.value, + values: [], + type: TokenType.FUNCTION + }; + while (true) { + var token = this.consumeToken(); + if (token.type === TokenType.EOF_TOKEN || token.type === TokenType.RIGHT_PARENTHESIS_TOKEN) { + return cssFunction; + } + this.reconsumeToken(token); + cssFunction.values.push(this.consumeComponentValue()); + } + }; + Parser.prototype.consumeToken = function () { + var token = this._tokens.shift(); + return typeof token === 'undefined' ? EOF_TOKEN : token; + }; + Parser.prototype.reconsumeToken = function (token) { + this._tokens.unshift(token); + }; + return Parser; + }()); + var isDimensionToken = function (token) { return token.type === TokenType.DIMENSION_TOKEN; }; + var isNumberToken = function (token) { return token.type === TokenType.NUMBER_TOKEN; }; + var isIdentToken = function (token) { return token.type === TokenType.IDENT_TOKEN; }; + var isStringToken = function (token) { return token.type === TokenType.STRING_TOKEN; }; + var isIdentWithValue = function (token, value) { + return isIdentToken(token) && token.value === value; + }; + var nonWhiteSpace = function (token) { return token.type !== TokenType.WHITESPACE_TOKEN; }; + var nonFunctionArgSeparator = function (token) { + return token.type !== TokenType.WHITESPACE_TOKEN && token.type !== TokenType.COMMA_TOKEN; + }; + var parseFunctionArgs = function (tokens) { + var args = []; + var arg = []; + tokens.forEach(function (token) { + if (token.type === TokenType.COMMA_TOKEN) { + if (arg.length === 0) { + throw new Error("Error parsing function args, zero tokens for arg"); + } + args.push(arg); + arg = []; + return; + } + if (token.type !== TokenType.WHITESPACE_TOKEN) { + arg.push(token); + } + }); + if (arg.length) { + args.push(arg); + } + return args; + }; + var isEndingTokenFor = function (token, type) { + if (type === TokenType.LEFT_CURLY_BRACKET_TOKEN && token.type === TokenType.RIGHT_CURLY_BRACKET_TOKEN) { + return true; + } + if (type === TokenType.LEFT_SQUARE_BRACKET_TOKEN && token.type === TokenType.RIGHT_SQUARE_BRACKET_TOKEN) { + return true; + } + return type === TokenType.LEFT_PARENTHESIS_TOKEN && token.type === TokenType.RIGHT_PARENTHESIS_TOKEN; + }; + + var isLength = function (token) { + return token.type === TokenType.NUMBER_TOKEN || token.type === TokenType.DIMENSION_TOKEN; + }; + + var isLengthPercentage = function (token) { + return token.type === TokenType.PERCENTAGE_TOKEN || isLength(token); + }; + var parseLengthPercentageTuple = function (tokens) { + return tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]]; + }; + var ZERO_LENGTH = { + type: TokenType.NUMBER_TOKEN, + number: 0, + flags: FLAG_INTEGER + }; + var FIFTY_PERCENT = { + type: TokenType.PERCENTAGE_TOKEN, + number: 50, + flags: FLAG_INTEGER + }; + var HUNDRED_PERCENT = { + type: TokenType.PERCENTAGE_TOKEN, + number: 100, + flags: FLAG_INTEGER + }; + var getAbsoluteValueForTuple = function (tuple, width, height) { + var x = tuple[0], y = tuple[1]; + return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)]; + }; + var getAbsoluteValue = function (token, parent) { + if (token.type === TokenType.PERCENTAGE_TOKEN) { + return (token.number / 100) * parent; + } + if (isDimensionToken(token)) { + switch (token.unit) { + case 'rem': + case 'em': + return 16 * token.number; // TODO use correct font-size + case 'px': + default: + return token.number; + } + } + return token.number; + }; + + var DEG = 'deg'; + var GRAD = 'grad'; + var RAD = 'rad'; + var TURN = 'turn'; + var angle = { + name: 'angle', + parse: function (value) { + if (value.type === TokenType.DIMENSION_TOKEN) { + switch (value.unit) { + case DEG: + return (Math.PI * value.number) / 180; + case GRAD: + return (Math.PI / 200) * value.number; + case RAD: + return value.number; + case TURN: + return Math.PI * 2 * value.number; + } + } + throw new Error("Unsupported angle type"); + } + }; + var isAngle = function (value) { + if (value.type === TokenType.DIMENSION_TOKEN) { + if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) { + return true; + } + } + return false; + }; + var parseNamedSide = function (tokens) { + var sideOrCorner = tokens + .filter(isIdentToken) + .map(function (ident) { return ident.value; }) + .join(' '); + switch (sideOrCorner) { + case 'to bottom right': + case 'to right bottom': + case 'left top': + case 'top left': + return [ZERO_LENGTH, ZERO_LENGTH]; + case 'to top': + case 'bottom': + return deg(0); + case 'to bottom left': + case 'to left bottom': + case 'right top': + case 'top right': + return [ZERO_LENGTH, HUNDRED_PERCENT]; + case 'to right': + case 'left': + return deg(90); + case 'to top left': + case 'to left top': + case 'right bottom': + case 'bottom right': + return [HUNDRED_PERCENT, HUNDRED_PERCENT]; + case 'to bottom': + case 'top': + return deg(180); + case 'to top right': + case 'to right top': + case 'left bottom': + case 'bottom left': + return [HUNDRED_PERCENT, ZERO_LENGTH]; + case 'to left': + case 'right': + return deg(270); + } + return 0; + }; + var deg = function (deg) { return (Math.PI * deg) / 180; }; + + var color = { + name: 'color', + parse: function (value) { + if (value.type === TokenType.FUNCTION) { + var colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name]; + if (typeof colorFunction === 'undefined') { + throw new Error("Attempting to parse an unsupported color function \"" + value.name + "\""); + } + return colorFunction(value.values); + } + if (value.type === TokenType.HASH_TOKEN) { + if (value.value.length === 3) { + var r = value.value.substring(0, 1); + var g = value.value.substring(1, 2); + var b = value.value.substring(2, 3); + return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1); + } + if (value.value.length === 4) { + var r = value.value.substring(0, 1); + var g = value.value.substring(1, 2); + var b = value.value.substring(2, 3); + var a = value.value.substring(3, 4); + return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255); + } + if (value.value.length === 6) { + var r = value.value.substring(0, 2); + var g = value.value.substring(2, 4); + var b = value.value.substring(4, 6); + return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1); + } + if (value.value.length === 8) { + var r = value.value.substring(0, 2); + var g = value.value.substring(2, 4); + var b = value.value.substring(4, 6); + var a = value.value.substring(6, 8); + return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255); + } + } + if (value.type === TokenType.IDENT_TOKEN) { + var namedColor = COLORS[value.value.toUpperCase()]; + if (typeof namedColor !== 'undefined') { + return namedColor; + } + } + return COLORS.TRANSPARENT; + } + }; + var isTransparent = function (color) { return (0xff & color) === 0; }; + var asString = function (color) { + var alpha = 0xff & color; + var blue = 0xff & (color >> 8); + var green = 0xff & (color >> 16); + var red = 0xff & (color >> 24); + return alpha < 255 ? "rgba(" + red + "," + green + "," + blue + "," + alpha / 255 + ")" : "rgb(" + red + "," + green + "," + blue + ")"; + }; + var pack = function (r, g, b, a) { + return ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0; + }; + var getTokenColorValue = function (token, i) { + if (token.type === TokenType.NUMBER_TOKEN) { + return token.number; + } + if (token.type === TokenType.PERCENTAGE_TOKEN) { + var max = i === 3 ? 1 : 255; + return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max); + } + return 0; + }; + var rgb = function (args) { + var tokens = args.filter(nonFunctionArgSeparator); + if (tokens.length === 3) { + var _a = tokens.map(getTokenColorValue), r = _a[0], g = _a[1], b = _a[2]; + return pack(r, g, b, 1); + } + if (tokens.length === 4) { + var _b = tokens.map(getTokenColorValue), r = _b[0], g = _b[1], b = _b[2], a = _b[3]; + return pack(r, g, b, a); + } + return 0; + }; + function hue2rgb(t1, t2, hue) { + if (hue < 0) { + hue += 1; + } + if (hue >= 1) { + hue -= 1; + } + if (hue < 1 / 6) { + return (t2 - t1) * hue * 6 + t1; + } + else if (hue < 1 / 2) { + return t2; + } + else if (hue < 2 / 3) { + return (t2 - t1) * 6 * (2 / 3 - hue) + t1; + } + else { + return t1; + } + } + var hsl = function (args) { + var tokens = args.filter(nonFunctionArgSeparator); + var hue = tokens[0], saturation = tokens[1], lightness = tokens[2], alpha = tokens[3]; + var h = (hue.type === TokenType.NUMBER_TOKEN ? deg(hue.number) : angle.parse(hue)) / (Math.PI * 2); + var s = isLengthPercentage(saturation) ? saturation.number / 100 : 0; + var l = isLengthPercentage(lightness) ? lightness.number / 100 : 0; + var a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1; + if (s === 0) { + return pack(l * 255, l * 255, l * 255, 1); + } + var t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s; + var t1 = l * 2 - t2; + var r = hue2rgb(t1, t2, h + 1 / 3); + var g = hue2rgb(t1, t2, h); + var b = hue2rgb(t1, t2, h - 1 / 3); + return pack(r * 255, g * 255, b * 255, a); + }; + var SUPPORTED_COLOR_FUNCTIONS = { + hsl: hsl, + hsla: hsl, + rgb: rgb, + rgba: rgb + }; + var COLORS = { + ALICEBLUE: 0xf0f8ffff, + ANTIQUEWHITE: 0xfaebd7ff, + AQUA: 0x00ffffff, + AQUAMARINE: 0x7fffd4ff, + AZURE: 0xf0ffffff, + BEIGE: 0xf5f5dcff, + BISQUE: 0xffe4c4ff, + BLACK: 0x000000ff, + BLANCHEDALMOND: 0xffebcdff, + BLUE: 0x0000ffff, + BLUEVIOLET: 0x8a2be2ff, + BROWN: 0xa52a2aff, + BURLYWOOD: 0xdeb887ff, + CADETBLUE: 0x5f9ea0ff, + CHARTREUSE: 0x7fff00ff, + CHOCOLATE: 0xd2691eff, + CORAL: 0xff7f50ff, + CORNFLOWERBLUE: 0x6495edff, + CORNSILK: 0xfff8dcff, + CRIMSON: 0xdc143cff, + CYAN: 0x00ffffff, + DARKBLUE: 0x00008bff, + DARKCYAN: 0x008b8bff, + DARKGOLDENROD: 0xb886bbff, + DARKGRAY: 0xa9a9a9ff, + DARKGREEN: 0x006400ff, + DARKGREY: 0xa9a9a9ff, + DARKKHAKI: 0xbdb76bff, + DARKMAGENTA: 0x8b008bff, + DARKOLIVEGREEN: 0x556b2fff, + DARKORANGE: 0xff8c00ff, + DARKORCHID: 0x9932ccff, + DARKRED: 0x8b0000ff, + DARKSALMON: 0xe9967aff, + DARKSEAGREEN: 0x8fbc8fff, + DARKSLATEBLUE: 0x483d8bff, + DARKSLATEGRAY: 0x2f4f4fff, + DARKSLATEGREY: 0x2f4f4fff, + DARKTURQUOISE: 0x00ced1ff, + DARKVIOLET: 0x9400d3ff, + DEEPPINK: 0xff1493ff, + DEEPSKYBLUE: 0x00bfffff, + DIMGRAY: 0x696969ff, + DIMGREY: 0x696969ff, + DODGERBLUE: 0x1e90ffff, + FIREBRICK: 0xb22222ff, + FLORALWHITE: 0xfffaf0ff, + FORESTGREEN: 0x228b22ff, + FUCHSIA: 0xff00ffff, + GAINSBORO: 0xdcdcdcff, + GHOSTWHITE: 0xf8f8ffff, + GOLD: 0xffd700ff, + GOLDENROD: 0xdaa520ff, + GRAY: 0x808080ff, + GREEN: 0x008000ff, + GREENYELLOW: 0xadff2fff, + GREY: 0x808080ff, + HONEYDEW: 0xf0fff0ff, + HOTPINK: 0xff69b4ff, + INDIANRED: 0xcd5c5cff, + INDIGO: 0x4b0082ff, + IVORY: 0xfffff0ff, + KHAKI: 0xf0e68cff, + LAVENDER: 0xe6e6faff, + LAVENDERBLUSH: 0xfff0f5ff, + LAWNGREEN: 0x7cfc00ff, + LEMONCHIFFON: 0xfffacdff, + LIGHTBLUE: 0xadd8e6ff, + LIGHTCORAL: 0xf08080ff, + LIGHTCYAN: 0xe0ffffff, + LIGHTGOLDENRODYELLOW: 0xfafad2ff, + LIGHTGRAY: 0xd3d3d3ff, + LIGHTGREEN: 0x90ee90ff, + LIGHTGREY: 0xd3d3d3ff, + LIGHTPINK: 0xffb6c1ff, + LIGHTSALMON: 0xffa07aff, + LIGHTSEAGREEN: 0x20b2aaff, + LIGHTSKYBLUE: 0x87cefaff, + LIGHTSLATEGRAY: 0x778899ff, + LIGHTSLATEGREY: 0x778899ff, + LIGHTSTEELBLUE: 0xb0c4deff, + LIGHTYELLOW: 0xffffe0ff, + LIME: 0x00ff00ff, + LIMEGREEN: 0x32cd32ff, + LINEN: 0xfaf0e6ff, + MAGENTA: 0xff00ffff, + MAROON: 0x800000ff, + MEDIUMAQUAMARINE: 0x66cdaaff, + MEDIUMBLUE: 0x0000cdff, + MEDIUMORCHID: 0xba55d3ff, + MEDIUMPURPLE: 0x9370dbff, + MEDIUMSEAGREEN: 0x3cb371ff, + MEDIUMSLATEBLUE: 0x7b68eeff, + MEDIUMSPRINGGREEN: 0x00fa9aff, + MEDIUMTURQUOISE: 0x48d1ccff, + MEDIUMVIOLETRED: 0xc71585ff, + MIDNIGHTBLUE: 0x191970ff, + MINTCREAM: 0xf5fffaff, + MISTYROSE: 0xffe4e1ff, + MOCCASIN: 0xffe4b5ff, + NAVAJOWHITE: 0xffdeadff, + NAVY: 0x000080ff, + OLDLACE: 0xfdf5e6ff, + OLIVE: 0x808000ff, + OLIVEDRAB: 0x6b8e23ff, + ORANGE: 0xffa500ff, + ORANGERED: 0xff4500ff, + ORCHID: 0xda70d6ff, + PALEGOLDENROD: 0xeee8aaff, + PALEGREEN: 0x98fb98ff, + PALETURQUOISE: 0xafeeeeff, + PALEVIOLETRED: 0xdb7093ff, + PAPAYAWHIP: 0xffefd5ff, + PEACHPUFF: 0xffdab9ff, + PERU: 0xcd853fff, + PINK: 0xffc0cbff, + PLUM: 0xdda0ddff, + POWDERBLUE: 0xb0e0e6ff, + PURPLE: 0x800080ff, + REBECCAPURPLE: 0x663399ff, + RED: 0xff0000ff, + ROSYBROWN: 0xbc8f8fff, + ROYALBLUE: 0x4169e1ff, + SADDLEBROWN: 0x8b4513ff, + SALMON: 0xfa8072ff, + SANDYBROWN: 0xf4a460ff, + SEAGREEN: 0x2e8b57ff, + SEASHELL: 0xfff5eeff, + SIENNA: 0xa0522dff, + SILVER: 0xc0c0c0ff, + SKYBLUE: 0x87ceebff, + SLATEBLUE: 0x6a5acdff, + SLATEGRAY: 0x708090ff, + SLATEGREY: 0x708090ff, + SNOW: 0xfffafaff, + SPRINGGREEN: 0x00ff7fff, + STEELBLUE: 0x4682b4ff, + TAN: 0xd2b48cff, + TEAL: 0x008080ff, + THISTLE: 0xd8bfd8ff, + TOMATO: 0xff6347ff, + TRANSPARENT: 0x00000000, + TURQUOISE: 0x40e0d0ff, + VIOLET: 0xee82eeff, + WHEAT: 0xf5deb3ff, + WHITE: 0xffffffff, + WHITESMOKE: 0xf5f5f5ff, + YELLOW: 0xffff00ff, + YELLOWGREEN: 0x9acd32ff + }; + + var PropertyDescriptorParsingType; + (function (PropertyDescriptorParsingType) { + PropertyDescriptorParsingType[PropertyDescriptorParsingType["VALUE"] = 0] = "VALUE"; + PropertyDescriptorParsingType[PropertyDescriptorParsingType["LIST"] = 1] = "LIST"; + PropertyDescriptorParsingType[PropertyDescriptorParsingType["IDENT_VALUE"] = 2] = "IDENT_VALUE"; + PropertyDescriptorParsingType[PropertyDescriptorParsingType["TYPE_VALUE"] = 3] = "TYPE_VALUE"; + PropertyDescriptorParsingType[PropertyDescriptorParsingType["TOKEN_VALUE"] = 4] = "TOKEN_VALUE"; + })(PropertyDescriptorParsingType || (PropertyDescriptorParsingType = {})); + + var BACKGROUND_CLIP; + (function (BACKGROUND_CLIP) { + BACKGROUND_CLIP[BACKGROUND_CLIP["BORDER_BOX"] = 0] = "BORDER_BOX"; + BACKGROUND_CLIP[BACKGROUND_CLIP["PADDING_BOX"] = 1] = "PADDING_BOX"; + BACKGROUND_CLIP[BACKGROUND_CLIP["CONTENT_BOX"] = 2] = "CONTENT_BOX"; + })(BACKGROUND_CLIP || (BACKGROUND_CLIP = {})); + var backgroundClip = { + name: 'background-clip', + initialValue: 'border-box', + prefix: false, + type: PropertyDescriptorParsingType.LIST, + parse: function (tokens) { + return tokens.map(function (token) { + if (isIdentToken(token)) { + switch (token.value) { + case 'padding-box': + return BACKGROUND_CLIP.PADDING_BOX; + case 'content-box': + return BACKGROUND_CLIP.CONTENT_BOX; + } + } + return BACKGROUND_CLIP.BORDER_BOX; + }); + } + }; + + var backgroundColor = { + name: "background-color", + initialValue: 'transparent', + prefix: false, + type: PropertyDescriptorParsingType.TYPE_VALUE, + format: 'color' + }; + + var parseColorStop = function (args) { + var color$1 = color.parse(args[0]); + var stop = args[1]; + return stop && isLengthPercentage(stop) ? { color: color$1, stop: stop } : { color: color$1, stop: null }; + }; + var processColorStops = function (stops, lineLength) { + var first = stops[0]; + var last = stops[stops.length - 1]; + if (first.stop === null) { + first.stop = ZERO_LENGTH; + } + if (last.stop === null) { + last.stop = HUNDRED_PERCENT; + } + var processStops = []; + var previous = 0; + for (var i = 0; i < stops.length; i++) { + var stop_1 = stops[i].stop; + if (stop_1 !== null) { + var absoluteValue = getAbsoluteValue(stop_1, lineLength); + if (absoluteValue > previous) { + processStops.push(absoluteValue); + } + else { + processStops.push(previous); + } + previous = absoluteValue; + } + else { + processStops.push(null); + } + } + var gapBegin = null; + for (var i = 0; i < processStops.length; i++) { + var stop_2 = processStops[i]; + if (stop_2 === null) { + if (gapBegin === null) { + gapBegin = i; + } + } + else if (gapBegin !== null) { + var gapLength = i - gapBegin; + var beforeGap = processStops[gapBegin - 1]; + var gapValue = (stop_2 - beforeGap) / (gapLength + 1); + for (var g = 1; g <= gapLength; g++) { + processStops[gapBegin + g - 1] = gapValue * g; + } + gapBegin = null; + } + } + return stops.map(function (_a, i) { + var color = _a.color; + return { color: color, stop: Math.max(Math.min(1, processStops[i] / lineLength), 0) }; + }); + }; + var getAngleFromCorner = function (corner, width, height) { + var centerX = width / 2; + var centerY = height / 2; + var x = getAbsoluteValue(corner[0], width) - centerX; + var y = centerY - getAbsoluteValue(corner[1], height); + return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2); + }; + var calculateGradientDirection = function (angle, width, height) { + var radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height); + var lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian)); + var halfWidth = width / 2; + var halfHeight = height / 2; + var halfLineLength = lineLength / 2; + var yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength; + var xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength; + return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff]; + }; + var distance = function (a, b) { return Math.sqrt(a * a + b * b); }; + var findCorner = function (width, height, x, y, closest) { + var corners = [[0, 0], [0, height], [width, 0], [width, height]]; + return corners.reduce(function (stat, corner) { + var cx = corner[0], cy = corner[1]; + var d = distance(x - cx, y - cy); + if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) { + return { + optimumCorner: corner, + optimumDistance: d + }; + } + return stat; + }, { + optimumDistance: closest ? Infinity : -Infinity, + optimumCorner: null + }).optimumCorner; + }; + var calculateRadius = function (gradient, x, y, width, height) { + var rx = 0; + var ry = 0; + switch (gradient.size) { + case CSSRadialExtent.CLOSEST_SIDE: + // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center. + // If the shape is an ellipse, it exactly meets the closest side in each dimension. + if (gradient.shape === CSSRadialShape.CIRCLE) { + rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height)); + } + else if (gradient.shape === CSSRadialShape.ELLIPSE) { + rx = Math.min(Math.abs(x), Math.abs(x - width)); + ry = Math.min(Math.abs(y), Math.abs(y - height)); + } + break; + case CSSRadialExtent.CLOSEST_CORNER: + // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center. + // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified. + if (gradient.shape === CSSRadialShape.CIRCLE) { + rx = ry = Math.min(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height)); + } + else if (gradient.shape === CSSRadialShape.ELLIPSE) { + // Compute the ratio ry/rx (which is to be the same as for "closest-side") + var c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width)); + var _a = findCorner(width, height, x, y, true), cx = _a[0], cy = _a[1]; + rx = distance(cx - x, (cy - y) / c); + ry = c * rx; + } + break; + case CSSRadialExtent.FARTHEST_SIDE: + // Same as closest-side, except the ending shape is sized based on the farthest side(s) + if (gradient.shape === CSSRadialShape.CIRCLE) { + rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height)); + } + else if (gradient.shape === CSSRadialShape.ELLIPSE) { + rx = Math.max(Math.abs(x), Math.abs(x - width)); + ry = Math.max(Math.abs(y), Math.abs(y - height)); + } + break; + case CSSRadialExtent.FARTHEST_CORNER: + // Same as closest-corner, except the ending shape is sized based on the farthest corner. + // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified. + if (gradient.shape === CSSRadialShape.CIRCLE) { + rx = ry = Math.max(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height)); + } + else if (gradient.shape === CSSRadialShape.ELLIPSE) { + // Compute the ratio ry/rx (which is to be the same as for "farthest-side") + var c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width)); + var _b = findCorner(width, height, x, y, false), cx = _b[0], cy = _b[1]; + rx = distance(cx - x, (cy - y) / c); + ry = c * rx; + } + break; + } + if (Array.isArray(gradient.size)) { + rx = getAbsoluteValue(gradient.size[0], width); + ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx; + } + return [rx, ry]; + }; + + var linearGradient = function (tokens) { + var angle$1 = deg(180); + var stops = []; + parseFunctionArgs(tokens).forEach(function (arg, i) { + if (i === 0) { + var firstToken = arg[0]; + if (firstToken.type === TokenType.IDENT_TOKEN && firstToken.value === 'to') { + angle$1 = parseNamedSide(arg); + return; + } + else if (isAngle(firstToken)) { + angle$1 = angle.parse(firstToken); + return; + } + } + var colorStop = parseColorStop(arg); + stops.push(colorStop); + }); + return { angle: angle$1, stops: stops, type: CSSImageType.LINEAR_GRADIENT }; + }; + + var prefixLinearGradient = function (tokens) { + var angle$1 = deg(180); + var stops = []; + parseFunctionArgs(tokens).forEach(function (arg, i) { + if (i === 0) { + var firstToken = arg[0]; + if (firstToken.type === TokenType.IDENT_TOKEN && + ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1) { + angle$1 = parseNamedSide(arg); + return; + } + else if (isAngle(firstToken)) { + angle$1 = (angle.parse(firstToken) + deg(270)) % deg(360); + return; + } + } + var colorStop = parseColorStop(arg); + stops.push(colorStop); + }); + return { + angle: angle$1, + stops: stops, + type: CSSImageType.LINEAR_GRADIENT + }; + }; + + var testRangeBounds = function (document) { + var TEST_HEIGHT = 123; + if (document.createRange) { + var range = document.createRange(); + if (range.getBoundingClientRect) { + var testElement = document.createElement('boundtest'); + testElement.style.height = TEST_HEIGHT + "px"; + testElement.style.display = 'block'; + document.body.appendChild(testElement); + range.selectNode(testElement); + var rangeBounds = range.getBoundingClientRect(); + var rangeHeight = Math.round(rangeBounds.height); + document.body.removeChild(testElement); + if (rangeHeight === TEST_HEIGHT) { + return true; + } + } + } + return false; + }; + var testCORS = function () { return typeof new Image().crossOrigin !== 'undefined'; }; + var testResponseType = function () { return typeof new XMLHttpRequest().responseType === 'string'; }; + var testSVG = function (document) { + var img = new Image(); + var canvas = document.createElement('canvas'); + var ctx = canvas.getContext('2d'); + if (!ctx) { + return false; + } + img.src = "data:image/svg+xml,"; + try { + ctx.drawImage(img, 0, 0); + canvas.toDataURL(); + } + catch (e) { + return false; + } + return true; + }; + var isGreenPixel = function (data) { + return data[0] === 0 && data[1] === 255 && data[2] === 0 && data[3] === 255; + }; + var testForeignObject = function (document) { + var canvas = document.createElement('canvas'); + var size = 100; + canvas.width = size; + canvas.height = size; + var ctx = canvas.getContext('2d'); + if (!ctx) { + return Promise.reject(false); + } + ctx.fillStyle = 'rgb(0, 255, 0)'; + ctx.fillRect(0, 0, size, size); + var img = new Image(); + var greenImageSrc = canvas.toDataURL(); + img.src = greenImageSrc; + var svg = createForeignObjectSVG(size, size, 0, 0, img); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, size, size); + return loadSerializedSVG(svg) + .then(function (img) { + ctx.drawImage(img, 0, 0); + var data = ctx.getImageData(0, 0, size, size).data; + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, size, size); + var node = document.createElement('div'); + node.style.backgroundImage = "url(" + greenImageSrc + ")"; + node.style.height = size + "px"; + // Firefox 55 does not render inline tags + return isGreenPixel(data) + ? loadSerializedSVG(createForeignObjectSVG(size, size, 0, 0, node)) + : Promise.reject(false); + }) + .then(function (img) { + ctx.drawImage(img, 0, 0); + // Edge does not render background-images + return isGreenPixel(ctx.getImageData(0, 0, size, size).data); + }) + .catch(function () { return false; }); + }; + var createForeignObjectSVG = function (width, height, x, y, node) { + var xmlns = 'http://www.w3.org/2000/svg'; + var svg = document.createElementNS(xmlns, 'svg'); + var foreignObject = document.createElementNS(xmlns, 'foreignObject'); + svg.setAttributeNS(null, 'width', width.toString()); + svg.setAttributeNS(null, 'height', height.toString()); + foreignObject.setAttributeNS(null, 'width', '100%'); + foreignObject.setAttributeNS(null, 'height', '100%'); + foreignObject.setAttributeNS(null, 'x', x.toString()); + foreignObject.setAttributeNS(null, 'y', y.toString()); + foreignObject.setAttributeNS(null, 'externalResourcesRequired', 'true'); + svg.appendChild(foreignObject); + foreignObject.appendChild(node); + return svg; + }; + var loadSerializedSVG = function (svg) { + return new Promise(function (resolve, reject) { + var img = new Image(); + img.onload = function () { return resolve(img); }; + img.onerror = reject; + img.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(new XMLSerializer().serializeToString(svg)); + }); + }; + var FEATURES = { + get SUPPORT_RANGE_BOUNDS() { + var value = testRangeBounds(document); + Object.defineProperty(FEATURES, 'SUPPORT_RANGE_BOUNDS', { value: value }); + return value; + }, + get SUPPORT_SVG_DRAWING() { + var value = testSVG(document); + Object.defineProperty(FEATURES, 'SUPPORT_SVG_DRAWING', { value: value }); + return value; + }, + get SUPPORT_FOREIGNOBJECT_DRAWING() { + var value = typeof Array.from === 'function' && typeof window.fetch === 'function' + ? testForeignObject(document) + : Promise.resolve(false); + Object.defineProperty(FEATURES, 'SUPPORT_FOREIGNOBJECT_DRAWING', { value: value }); + return value; + }, + get SUPPORT_CORS_IMAGES() { + var value = testCORS(); + Object.defineProperty(FEATURES, 'SUPPORT_CORS_IMAGES', { value: value }); + return value; + }, + get SUPPORT_RESPONSE_TYPE() { + var value = testResponseType(); + Object.defineProperty(FEATURES, 'SUPPORT_RESPONSE_TYPE', { value: value }); + return value; + }, + get SUPPORT_CORS_XHR() { + var value = 'withCredentials' in new XMLHttpRequest(); + Object.defineProperty(FEATURES, 'SUPPORT_CORS_XHR', { value: value }); + return value; + } + }; + + var Logger = /** @class */ (function () { + function Logger(_a) { + var id = _a.id, enabled = _a.enabled; + this.id = id; + this.enabled = enabled; + this.start = Date.now(); + } + // eslint-disable-next-line @typescript-eslint/no-explicit-any + Logger.prototype.debug = function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + if (this.enabled) { + // eslint-disable-next-line no-console + if (typeof window !== 'undefined' && window.console && typeof console.debug === 'function') { + // eslint-disable-next-line no-console + console.debug.apply(console, [this.id, this.getTime() + "ms"].concat(args)); + } + else { + this.info.apply(this, args); + } + } + }; + Logger.prototype.getTime = function () { + return Date.now() - this.start; + }; + Logger.create = function (options) { + Logger.instances[options.id] = new Logger(options); + }; + Logger.destroy = function (id) { + delete Logger.instances[id]; + }; + Logger.getInstance = function (id) { + var instance = Logger.instances[id]; + if (typeof instance === 'undefined') { + throw new Error("No logger instance found with id " + id); + } + return instance; + }; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + Logger.prototype.info = function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + if (this.enabled) { + // eslint-disable-next-line no-console + if (typeof window !== 'undefined' && window.console && typeof console.info === 'function') { + // eslint-disable-next-line no-console + console.info.apply(console, [this.id, this.getTime() + "ms"].concat(args)); + } + } + }; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + Logger.prototype.error = function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + if (this.enabled) { + // eslint-disable-next-line no-console + if (typeof window !== 'undefined' && window.console && typeof console.error === 'function') { + // eslint-disable-next-line no-console + console.error.apply(console, [this.id, this.getTime() + "ms"].concat(args)); + } + else { + this.info.apply(this, args); + } + } + }; + Logger.instances = {}; + return Logger; + }()); + + var CacheStorage = /** @class */ (function () { + function CacheStorage() { + } + CacheStorage.create = function (name, options) { + return (CacheStorage._caches[name] = new Cache(name, options)); + }; + CacheStorage.destroy = function (name) { + delete CacheStorage._caches[name]; + }; + CacheStorage.open = function (name) { + var cache = CacheStorage._caches[name]; + if (typeof cache !== 'undefined') { + return cache; + } + throw new Error("Cache with key \"" + name + "\" not found"); + }; + CacheStorage.getOrigin = function (url) { + var link = CacheStorage._link; + if (!link) { + return 'about:blank'; + } + link.href = url; + link.href = link.href; // IE9, LOL! - http://jsfiddle.net/niklasvh/2e48b/ + return link.protocol + link.hostname + link.port; + }; + CacheStorage.isSameOrigin = function (src) { + return CacheStorage.getOrigin(src) === CacheStorage._origin; + }; + CacheStorage.setContext = function (window) { + CacheStorage._link = window.document.createElement('a'); + CacheStorage._origin = CacheStorage.getOrigin(window.location.href); + }; + CacheStorage.getInstance = function () { + var current = CacheStorage._current; + if (current === null) { + throw new Error("No cache instance attached"); + } + return current; + }; + CacheStorage.attachInstance = function (cache) { + CacheStorage._current = cache; + }; + CacheStorage.detachInstance = function () { + CacheStorage._current = null; + }; + CacheStorage._caches = {}; + CacheStorage._origin = 'about:blank'; + CacheStorage._current = null; + return CacheStorage; + }()); + var Cache = /** @class */ (function () { + function Cache(id, options) { + this.id = id; + this._options = options; + this._cache = {}; + } + Cache.prototype.addImage = function (src) { + var result = Promise.resolve(); + if (this.has(src)) { + return result; + } + if (isBlobImage(src) || isRenderable(src)) { + this._cache[src] = this.loadImage(src); + return result; + } + return result; + }; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + Cache.prototype.match = function (src) { + return this._cache[src]; + }; + Cache.prototype.loadImage = function (key) { + return __awaiter(this, void 0, void 0, function () { + var isSameOrigin, useCORS, useProxy, src; + var _this = this; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + isSameOrigin = CacheStorage.isSameOrigin(key); + useCORS = !isInlineImage(key) && this._options.useCORS === true && FEATURES.SUPPORT_CORS_IMAGES && !isSameOrigin; + useProxy = !isInlineImage(key) && + !isSameOrigin && + typeof this._options.proxy === 'string' && + FEATURES.SUPPORT_CORS_XHR && + !useCORS; + if (!isSameOrigin && this._options.allowTaint === false && !isInlineImage(key) && !useProxy && !useCORS) { + return [2 /*return*/]; + } + src = key; + if (!useProxy) return [3 /*break*/, 2]; + return [4 /*yield*/, this.proxy(src)]; + case 1: + src = _a.sent(); + _a.label = 2; + case 2: + Logger.getInstance(this.id).debug("Added image " + key.substring(0, 256)); + return [4 /*yield*/, new Promise(function (resolve, reject) { + var img = new Image(); + img.onload = function () { return resolve(img); }; + img.onerror = reject; + //ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous + if (isInlineBase64Image(src) || useCORS) { + img.crossOrigin = 'anonymous'; + } + img.src = src; + if (img.complete === true) { + // Inline XML images may fail to parse, throwing an Error later on + setTimeout(function () { return resolve(img); }, 500); + } + if (_this._options.imageTimeout > 0) { + setTimeout(function () { return reject("Timed out (" + _this._options.imageTimeout + "ms) loading image"); }, _this._options.imageTimeout); + } + })]; + case 3: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + Cache.prototype.has = function (key) { + return typeof this._cache[key] !== 'undefined'; + }; + Cache.prototype.keys = function () { + return Promise.resolve(Object.keys(this._cache)); + }; + Cache.prototype.proxy = function (src) { + var _this = this; + var proxy = this._options.proxy; + if (!proxy) { + throw new Error('No proxy defined'); + } + var key = src.substring(0, 256); + return new Promise(function (resolve, reject) { + var responseType = FEATURES.SUPPORT_RESPONSE_TYPE ? 'blob' : 'text'; + var xhr = new XMLHttpRequest(); + xhr.onload = function () { + if (xhr.status === 200) { + if (responseType === 'text') { + resolve(xhr.response); + } + else { + var reader_1 = new FileReader(); + reader_1.addEventListener('load', function () { return resolve(reader_1.result); }, false); + reader_1.addEventListener('error', function (e) { return reject(e); }, false); + reader_1.readAsDataURL(xhr.response); + } + } + else { + reject("Failed to proxy resource " + key + " with status code " + xhr.status); + } + }; + xhr.onerror = reject; + xhr.open('GET', proxy + "?url=" + encodeURIComponent(src) + "&responseType=" + responseType); + if (responseType !== 'text' && xhr instanceof XMLHttpRequest) { + xhr.responseType = responseType; + } + if (_this._options.imageTimeout) { + var timeout_1 = _this._options.imageTimeout; + xhr.timeout = timeout_1; + xhr.ontimeout = function () { return reject("Timed out (" + timeout_1 + "ms) proxying " + key); }; + } + xhr.send(); + }); + }; + return Cache; + }()); + var INLINE_SVG = /^data:image\/svg\+xml/i; + var INLINE_BASE64 = /^data:image\/.*;base64,/i; + var INLINE_IMG = /^data:image\/.*/i; + var isRenderable = function (src) { return FEATURES.SUPPORT_SVG_DRAWING || !isSVG(src); }; + var isInlineImage = function (src) { return INLINE_IMG.test(src); }; + var isInlineBase64Image = function (src) { return INLINE_BASE64.test(src); }; + var isBlobImage = function (src) { return src.substr(0, 4) === 'blob'; }; + var isSVG = function (src) { return src.substr(-3).toLowerCase() === 'svg' || INLINE_SVG.test(src); }; + + var webkitGradient = function (tokens) { + var angle = deg(180); + var stops = []; + var type = CSSImageType.LINEAR_GRADIENT; + var shape = CSSRadialShape.CIRCLE; + var size = CSSRadialExtent.FARTHEST_CORNER; + var position = []; + parseFunctionArgs(tokens).forEach(function (arg, i) { + var firstToken = arg[0]; + if (i === 0) { + if (isIdentToken(firstToken) && firstToken.value === 'linear') { + type = CSSImageType.LINEAR_GRADIENT; + return; + } + else if (isIdentToken(firstToken) && firstToken.value === 'radial') { + type = CSSImageType.RADIAL_GRADIENT; + return; + } + } + if (firstToken.type === TokenType.FUNCTION) { + if (firstToken.name === 'from') { + var color$1 = color.parse(firstToken.values[0]); + stops.push({ stop: ZERO_LENGTH, color: color$1 }); + } + else if (firstToken.name === 'to') { + var color$1 = color.parse(firstToken.values[0]); + stops.push({ stop: HUNDRED_PERCENT, color: color$1 }); + } + else if (firstToken.name === 'color-stop') { + var values = firstToken.values.filter(nonFunctionArgSeparator); + if (values.length === 2) { + var color$1 = color.parse(values[1]); + var stop_1 = values[0]; + if (isNumberToken(stop_1)) { + stops.push({ + stop: { type: TokenType.PERCENTAGE_TOKEN, number: stop_1.number * 100, flags: stop_1.flags }, + color: color$1 + }); + } + } + } + } + }); + return type === CSSImageType.LINEAR_GRADIENT + ? { + angle: (angle + deg(180)) % deg(360), + stops: stops, + type: type + } + : { size: size, shape: shape, stops: stops, position: position, type: type }; + }; + + var CLOSEST_SIDE = 'closest-side'; + var FARTHEST_SIDE = 'farthest-side'; + var CLOSEST_CORNER = 'closest-corner'; + var FARTHEST_CORNER = 'farthest-corner'; + var CIRCLE = 'circle'; + var ELLIPSE = 'ellipse'; + var COVER = 'cover'; + var CONTAIN = 'contain'; + var radialGradient = function (tokens) { + var shape = CSSRadialShape.CIRCLE; + var size = CSSRadialExtent.FARTHEST_CORNER; + var stops = []; + var position = []; + parseFunctionArgs(tokens).forEach(function (arg, i) { + var isColorStop = true; + if (i === 0) { + var isAtPosition_1 = false; + isColorStop = arg.reduce(function (acc, token) { + if (isAtPosition_1) { + if (isIdentToken(token)) { + switch (token.value) { + case 'center': + position.push(FIFTY_PERCENT); + return acc; + case 'top': + case 'left': + position.push(ZERO_LENGTH); + return acc; + case 'right': + case 'bottom': + position.push(HUNDRED_PERCENT); + return acc; + } + } + else if (isLengthPercentage(token) || isLength(token)) { + position.push(token); + } + } + else if (isIdentToken(token)) { + switch (token.value) { + case CIRCLE: + shape = CSSRadialShape.CIRCLE; + return false; + case ELLIPSE: + shape = CSSRadialShape.ELLIPSE; + return false; + case 'at': + isAtPosition_1 = true; + return false; + case CLOSEST_SIDE: + size = CSSRadialExtent.CLOSEST_SIDE; + return false; + case COVER: + case FARTHEST_SIDE: + size = CSSRadialExtent.FARTHEST_SIDE; + return false; + case CONTAIN: + case CLOSEST_CORNER: + size = CSSRadialExtent.CLOSEST_CORNER; + return false; + case FARTHEST_CORNER: + size = CSSRadialExtent.FARTHEST_CORNER; + return false; + } + } + else if (isLength(token) || isLengthPercentage(token)) { + if (!Array.isArray(size)) { + size = []; + } + size.push(token); + return false; + } + return acc; + }, isColorStop); + } + if (isColorStop) { + var colorStop = parseColorStop(arg); + stops.push(colorStop); + } + }); + return { size: size, shape: shape, stops: stops, position: position, type: CSSImageType.RADIAL_GRADIENT }; + }; + + var prefixRadialGradient = function (tokens) { + var shape = CSSRadialShape.CIRCLE; + var size = CSSRadialExtent.FARTHEST_CORNER; + var stops = []; + var position = []; + parseFunctionArgs(tokens).forEach(function (arg, i) { + var isColorStop = true; + if (i === 0) { + isColorStop = arg.reduce(function (acc, token) { + if (isIdentToken(token)) { + switch (token.value) { + case 'center': + position.push(FIFTY_PERCENT); + return false; + case 'top': + case 'left': + position.push(ZERO_LENGTH); + return false; + case 'right': + case 'bottom': + position.push(HUNDRED_PERCENT); + return false; + } + } + else if (isLengthPercentage(token) || isLength(token)) { + position.push(token); + return false; + } + return acc; + }, isColorStop); + } + else if (i === 1) { + isColorStop = arg.reduce(function (acc, token) { + if (isIdentToken(token)) { + switch (token.value) { + case CIRCLE: + shape = CSSRadialShape.CIRCLE; + return false; + case ELLIPSE: + shape = CSSRadialShape.ELLIPSE; + return false; + case CONTAIN: + case CLOSEST_SIDE: + size = CSSRadialExtent.CLOSEST_SIDE; + return false; + case FARTHEST_SIDE: + size = CSSRadialExtent.FARTHEST_SIDE; + return false; + case CLOSEST_CORNER: + size = CSSRadialExtent.CLOSEST_CORNER; + return false; + case COVER: + case FARTHEST_CORNER: + size = CSSRadialExtent.FARTHEST_CORNER; + return false; + } + } + else if (isLength(token) || isLengthPercentage(token)) { + if (!Array.isArray(size)) { + size = []; + } + size.push(token); + return false; + } + return acc; + }, isColorStop); + } + if (isColorStop) { + var colorStop = parseColorStop(arg); + stops.push(colorStop); + } + }); + return { size: size, shape: shape, stops: stops, position: position, type: CSSImageType.RADIAL_GRADIENT }; + }; + + var CSSImageType; + (function (CSSImageType) { + CSSImageType[CSSImageType["URL"] = 0] = "URL"; + CSSImageType[CSSImageType["LINEAR_GRADIENT"] = 1] = "LINEAR_GRADIENT"; + CSSImageType[CSSImageType["RADIAL_GRADIENT"] = 2] = "RADIAL_GRADIENT"; + })(CSSImageType || (CSSImageType = {})); + var isLinearGradient = function (background) { + return background.type === CSSImageType.LINEAR_GRADIENT; + }; + var isRadialGradient = function (background) { + return background.type === CSSImageType.RADIAL_GRADIENT; + }; + var CSSRadialShape; + (function (CSSRadialShape) { + CSSRadialShape[CSSRadialShape["CIRCLE"] = 0] = "CIRCLE"; + CSSRadialShape[CSSRadialShape["ELLIPSE"] = 1] = "ELLIPSE"; + })(CSSRadialShape || (CSSRadialShape = {})); + var CSSRadialExtent; + (function (CSSRadialExtent) { + CSSRadialExtent[CSSRadialExtent["CLOSEST_SIDE"] = 0] = "CLOSEST_SIDE"; + CSSRadialExtent[CSSRadialExtent["FARTHEST_SIDE"] = 1] = "FARTHEST_SIDE"; + CSSRadialExtent[CSSRadialExtent["CLOSEST_CORNER"] = 2] = "CLOSEST_CORNER"; + CSSRadialExtent[CSSRadialExtent["FARTHEST_CORNER"] = 3] = "FARTHEST_CORNER"; + })(CSSRadialExtent || (CSSRadialExtent = {})); + var image = { + name: 'image', + parse: function (value) { + if (value.type === TokenType.URL_TOKEN) { + var image_1 = { url: value.value, type: CSSImageType.URL }; + CacheStorage.getInstance().addImage(value.value); + return image_1; + } + if (value.type === TokenType.FUNCTION) { + var imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name]; + if (typeof imageFunction === 'undefined') { + throw new Error("Attempting to parse an unsupported image function \"" + value.name + "\""); + } + return imageFunction(value.values); + } + throw new Error("Unsupported image type"); + } + }; + function isSupportedImage(value) { + return value.type !== TokenType.FUNCTION || SUPPORTED_IMAGE_FUNCTIONS[value.name]; + } + var SUPPORTED_IMAGE_FUNCTIONS = { + 'linear-gradient': linearGradient, + '-moz-linear-gradient': prefixLinearGradient, + '-ms-linear-gradient': prefixLinearGradient, + '-o-linear-gradient': prefixLinearGradient, + '-webkit-linear-gradient': prefixLinearGradient, + 'radial-gradient': radialGradient, + '-moz-radial-gradient': prefixRadialGradient, + '-ms-radial-gradient': prefixRadialGradient, + '-o-radial-gradient': prefixRadialGradient, + '-webkit-radial-gradient': prefixRadialGradient, + '-webkit-gradient': webkitGradient + }; + + var backgroundImage = { + name: 'background-image', + initialValue: 'none', + type: PropertyDescriptorParsingType.LIST, + prefix: false, + parse: function (tokens) { + if (tokens.length === 0) { + return []; + } + var first = tokens[0]; + if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') { + return []; + } + return tokens.filter(function (value) { return nonFunctionArgSeparator(value) && isSupportedImage(value); }).map(image.parse); + } + }; + + var backgroundOrigin = { + name: 'background-origin', + initialValue: 'border-box', + prefix: false, + type: PropertyDescriptorParsingType.LIST, + parse: function (tokens) { + return tokens.map(function (token) { + if (isIdentToken(token)) { + switch (token.value) { + case 'padding-box': + return 1 /* PADDING_BOX */; + case 'content-box': + return 2 /* CONTENT_BOX */; + } + } + return 0 /* BORDER_BOX */; + }); + } + }; + + var backgroundPosition = { + name: 'background-position', + initialValue: '0% 0%', + type: PropertyDescriptorParsingType.LIST, + prefix: false, + parse: function (tokens) { + return parseFunctionArgs(tokens) + .map(function (values) { return values.filter(isLengthPercentage); }) + .map(parseLengthPercentageTuple); + } + }; + + var BACKGROUND_REPEAT; + (function (BACKGROUND_REPEAT) { + BACKGROUND_REPEAT[BACKGROUND_REPEAT["REPEAT"] = 0] = "REPEAT"; + BACKGROUND_REPEAT[BACKGROUND_REPEAT["NO_REPEAT"] = 1] = "NO_REPEAT"; + BACKGROUND_REPEAT[BACKGROUND_REPEAT["REPEAT_X"] = 2] = "REPEAT_X"; + BACKGROUND_REPEAT[BACKGROUND_REPEAT["REPEAT_Y"] = 3] = "REPEAT_Y"; + })(BACKGROUND_REPEAT || (BACKGROUND_REPEAT = {})); + var backgroundRepeat = { + name: 'background-repeat', + initialValue: 'repeat', + prefix: false, + type: PropertyDescriptorParsingType.LIST, + parse: function (tokens) { + return parseFunctionArgs(tokens) + .map(function (values) { + return values + .filter(isIdentToken) + .map(function (token) { return token.value; }) + .join(' '); + }) + .map(parseBackgroundRepeat); + } + }; + var parseBackgroundRepeat = function (value) { + switch (value) { + case 'no-repeat': + return BACKGROUND_REPEAT.NO_REPEAT; + case 'repeat-x': + case 'repeat no-repeat': + return BACKGROUND_REPEAT.REPEAT_X; + case 'repeat-y': + case 'no-repeat repeat': + return BACKGROUND_REPEAT.REPEAT_Y; + case 'repeat': + default: + return BACKGROUND_REPEAT.REPEAT; + } + }; + + var BACKGROUND_SIZE; + (function (BACKGROUND_SIZE) { + BACKGROUND_SIZE["AUTO"] = "auto"; + BACKGROUND_SIZE["CONTAIN"] = "contain"; + BACKGROUND_SIZE["COVER"] = "cover"; + })(BACKGROUND_SIZE || (BACKGROUND_SIZE = {})); + var backgroundSize = { + name: 'background-size', + initialValue: '0', + prefix: false, + type: PropertyDescriptorParsingType.LIST, + parse: function (tokens) { + return parseFunctionArgs(tokens).map(function (values) { return values.filter(isBackgroundSizeInfoToken); }); + } + }; + var isBackgroundSizeInfoToken = function (value) { + return isIdentToken(value) || isLengthPercentage(value); + }; + + var borderColorForSide = function (side) { return ({ + name: "border-" + side + "-color", + initialValue: 'transparent', + prefix: false, + type: PropertyDescriptorParsingType.TYPE_VALUE, + format: 'color' + }); }; + var borderTopColor = borderColorForSide('top'); + var borderRightColor = borderColorForSide('right'); + var borderBottomColor = borderColorForSide('bottom'); + var borderLeftColor = borderColorForSide('left'); + + var borderRadiusForSide = function (side) { return ({ + name: "border-radius-" + side, + initialValue: '0 0', + prefix: false, + type: PropertyDescriptorParsingType.LIST, + parse: function (tokens) { return parseLengthPercentageTuple(tokens.filter(isLengthPercentage)); } + }); }; + var borderTopLeftRadius = borderRadiusForSide('top-left'); + var borderTopRightRadius = borderRadiusForSide('top-right'); + var borderBottomRightRadius = borderRadiusForSide('bottom-right'); + var borderBottomLeftRadius = borderRadiusForSide('bottom-left'); + + var BORDER_STYLE; + (function (BORDER_STYLE) { + BORDER_STYLE[BORDER_STYLE["NONE"] = 0] = "NONE"; + BORDER_STYLE[BORDER_STYLE["SOLID"] = 1] = "SOLID"; + BORDER_STYLE[BORDER_STYLE["DASHED"] = 2] = "DASHED"; + BORDER_STYLE[BORDER_STYLE["DOTTED"] = 3] = "DOTTED"; + BORDER_STYLE[BORDER_STYLE["DOUBLE"] = 4] = "DOUBLE"; + })(BORDER_STYLE || (BORDER_STYLE = {})); + var borderStyleForSide = function (side) { return ({ + name: "border-" + side + "-style", + initialValue: 'solid', + prefix: false, + type: PropertyDescriptorParsingType.IDENT_VALUE, + parse: function (style) { + switch (style) { + case 'none': + return BORDER_STYLE.NONE; + case 'dashed': + return BORDER_STYLE.DASHED; + case 'dotted': + return BORDER_STYLE.DOTTED; + case 'double': + return BORDER_STYLE.DOUBLE; + } + return BORDER_STYLE.SOLID; + } + }); }; + var borderTopStyle = borderStyleForSide('top'); + var borderRightStyle = borderStyleForSide('right'); + var borderBottomStyle = borderStyleForSide('bottom'); + var borderLeftStyle = borderStyleForSide('left'); + + var borderWidthForSide = function (side) { return ({ + name: "border-" + side + "-width", + initialValue: '0', + type: PropertyDescriptorParsingType.VALUE, + prefix: false, + parse: function (token) { + if (isDimensionToken(token)) { + return token.number; + } + return 0; + } + }); }; + var borderTopWidth = borderWidthForSide('top'); + var borderRightWidth = borderWidthForSide('right'); + var borderBottomWidth = borderWidthForSide('bottom'); + var borderLeftWidth = borderWidthForSide('left'); + + var color$1 = { + name: "color", + initialValue: 'transparent', + prefix: false, + type: PropertyDescriptorParsingType.TYPE_VALUE, + format: 'color' + }; + + var display = { + name: 'display', + initialValue: 'inline-block', + prefix: false, + type: PropertyDescriptorParsingType.LIST, + parse: function (tokens) { + return tokens.filter(isIdentToken).reduce(function (bit, token) { + return bit | parseDisplayValue(token.value); + }, 0 /* NONE */); + } + }; + var parseDisplayValue = function (display) { + switch (display) { + case 'block': + case '-webkit-box': + return 2 /* BLOCK */; + case 'inline': + return 4 /* INLINE */; + case 'run-in': + return 8 /* RUN_IN */; + case 'flow': + return 16 /* FLOW */; + case 'flow-root': + return 32 /* FLOW_ROOT */; + case 'table': + return 64 /* TABLE */; + case 'flex': + case '-webkit-flex': + return 128 /* FLEX */; + case 'grid': + case '-ms-grid': + return 256 /* GRID */; + case 'ruby': + return 512 /* RUBY */; + case 'subgrid': + return 1024 /* SUBGRID */; + case 'list-item': + return 2048 /* LIST_ITEM */; + case 'table-row-group': + return 4096 /* TABLE_ROW_GROUP */; + case 'table-header-group': + return 8192 /* TABLE_HEADER_GROUP */; + case 'table-footer-group': + return 16384 /* TABLE_FOOTER_GROUP */; + case 'table-row': + return 32768 /* TABLE_ROW */; + case 'table-cell': + return 65536 /* TABLE_CELL */; + case 'table-column-group': + return 131072 /* TABLE_COLUMN_GROUP */; + case 'table-column': + return 262144 /* TABLE_COLUMN */; + case 'table-caption': + return 524288 /* TABLE_CAPTION */; + case 'ruby-base': + return 1048576 /* RUBY_BASE */; + case 'ruby-text': + return 2097152 /* RUBY_TEXT */; + case 'ruby-base-container': + return 4194304 /* RUBY_BASE_CONTAINER */; + case 'ruby-text-container': + return 8388608 /* RUBY_TEXT_CONTAINER */; + case 'contents': + return 16777216 /* CONTENTS */; + case 'inline-block': + return 33554432 /* INLINE_BLOCK */; + case 'inline-list-item': + return 67108864 /* INLINE_LIST_ITEM */; + case 'inline-table': + return 134217728 /* INLINE_TABLE */; + case 'inline-flex': + return 268435456 /* INLINE_FLEX */; + case 'inline-grid': + return 536870912 /* INLINE_GRID */; + } + return 0 /* NONE */; + }; + + var FLOAT; + (function (FLOAT) { + FLOAT[FLOAT["NONE"] = 0] = "NONE"; + FLOAT[FLOAT["LEFT"] = 1] = "LEFT"; + FLOAT[FLOAT["RIGHT"] = 2] = "RIGHT"; + FLOAT[FLOAT["INLINE_START"] = 3] = "INLINE_START"; + FLOAT[FLOAT["INLINE_END"] = 4] = "INLINE_END"; + })(FLOAT || (FLOAT = {})); + var float = { + name: 'float', + initialValue: 'none', + prefix: false, + type: PropertyDescriptorParsingType.IDENT_VALUE, + parse: function (float) { + switch (float) { + case 'left': + return FLOAT.LEFT; + case 'right': + return FLOAT.RIGHT; + case 'inline-start': + return FLOAT.INLINE_START; + case 'inline-end': + return FLOAT.INLINE_END; + } + return FLOAT.NONE; + } + }; + + var letterSpacing = { + name: 'letter-spacing', + initialValue: '0', + prefix: false, + type: PropertyDescriptorParsingType.VALUE, + parse: function (token) { + if (token.type === TokenType.IDENT_TOKEN && token.value === 'normal') { + return 0; + } + if (token.type === TokenType.NUMBER_TOKEN) { + return token.number; + } + if (token.type === TokenType.DIMENSION_TOKEN) { + return token.number; + } + return 0; + } + }; + + var LINE_BREAK; + (function (LINE_BREAK) { + LINE_BREAK["NORMAL"] = "normal"; + LINE_BREAK["STRICT"] = "strict"; + })(LINE_BREAK || (LINE_BREAK = {})); + var lineBreak = { + name: 'line-break', + initialValue: 'normal', + prefix: false, + type: PropertyDescriptorParsingType.IDENT_VALUE, + parse: function (lineBreak) { + switch (lineBreak) { + case 'strict': + return LINE_BREAK.STRICT; + case 'normal': + default: + return LINE_BREAK.NORMAL; + } + } + }; + + var lineHeight = { + name: 'line-height', + initialValue: 'normal', + prefix: false, + type: PropertyDescriptorParsingType.TOKEN_VALUE + }; + var computeLineHeight = function (token, fontSize) { + if (isIdentToken(token) && token.value === 'normal') { + return 1.2 * fontSize; + } + else if (token.type === TokenType.NUMBER_TOKEN) { + return fontSize * token.number; + } + else if (isLengthPercentage(token)) { + return getAbsoluteValue(token, fontSize); + } + return fontSize; + }; + + var listStyleImage = { + name: 'list-style-image', + initialValue: 'none', + type: PropertyDescriptorParsingType.VALUE, + prefix: false, + parse: function (token) { + if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') { + return null; + } + return image.parse(token); + } + }; + + var LIST_STYLE_POSITION; + (function (LIST_STYLE_POSITION) { + LIST_STYLE_POSITION[LIST_STYLE_POSITION["INSIDE"] = 0] = "INSIDE"; + LIST_STYLE_POSITION[LIST_STYLE_POSITION["OUTSIDE"] = 1] = "OUTSIDE"; + })(LIST_STYLE_POSITION || (LIST_STYLE_POSITION = {})); + var listStylePosition = { + name: 'list-style-position', + initialValue: 'outside', + prefix: false, + type: PropertyDescriptorParsingType.IDENT_VALUE, + parse: function (position) { + switch (position) { + case 'inside': + return LIST_STYLE_POSITION.INSIDE; + case 'outside': + default: + return LIST_STYLE_POSITION.OUTSIDE; + } + } + }; + + var LIST_STYLE_TYPE; + (function (LIST_STYLE_TYPE) { + LIST_STYLE_TYPE[LIST_STYLE_TYPE["NONE"] = -1] = "NONE"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["DISC"] = 0] = "DISC"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["CIRCLE"] = 1] = "CIRCLE"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["SQUARE"] = 2] = "SQUARE"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["DECIMAL"] = 3] = "DECIMAL"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["CJK_DECIMAL"] = 4] = "CJK_DECIMAL"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["DECIMAL_LEADING_ZERO"] = 5] = "DECIMAL_LEADING_ZERO"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["LOWER_ROMAN"] = 6] = "LOWER_ROMAN"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["UPPER_ROMAN"] = 7] = "UPPER_ROMAN"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["LOWER_GREEK"] = 8] = "LOWER_GREEK"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["LOWER_ALPHA"] = 9] = "LOWER_ALPHA"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["UPPER_ALPHA"] = 10] = "UPPER_ALPHA"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["ARABIC_INDIC"] = 11] = "ARABIC_INDIC"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["ARMENIAN"] = 12] = "ARMENIAN"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["BENGALI"] = 13] = "BENGALI"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["CAMBODIAN"] = 14] = "CAMBODIAN"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["CJK_EARTHLY_BRANCH"] = 15] = "CJK_EARTHLY_BRANCH"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["CJK_HEAVENLY_STEM"] = 16] = "CJK_HEAVENLY_STEM"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["CJK_IDEOGRAPHIC"] = 17] = "CJK_IDEOGRAPHIC"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["DEVANAGARI"] = 18] = "DEVANAGARI"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["ETHIOPIC_NUMERIC"] = 19] = "ETHIOPIC_NUMERIC"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["GEORGIAN"] = 20] = "GEORGIAN"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["GUJARATI"] = 21] = "GUJARATI"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["GURMUKHI"] = 22] = "GURMUKHI"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["HEBREW"] = 22] = "HEBREW"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["HIRAGANA"] = 23] = "HIRAGANA"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["HIRAGANA_IROHA"] = 24] = "HIRAGANA_IROHA"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["JAPANESE_FORMAL"] = 25] = "JAPANESE_FORMAL"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["JAPANESE_INFORMAL"] = 26] = "JAPANESE_INFORMAL"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["KANNADA"] = 27] = "KANNADA"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["KATAKANA"] = 28] = "KATAKANA"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["KATAKANA_IROHA"] = 29] = "KATAKANA_IROHA"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["KHMER"] = 30] = "KHMER"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["KOREAN_HANGUL_FORMAL"] = 31] = "KOREAN_HANGUL_FORMAL"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["KOREAN_HANJA_FORMAL"] = 32] = "KOREAN_HANJA_FORMAL"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["KOREAN_HANJA_INFORMAL"] = 33] = "KOREAN_HANJA_INFORMAL"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["LAO"] = 34] = "LAO"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["LOWER_ARMENIAN"] = 35] = "LOWER_ARMENIAN"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["MALAYALAM"] = 36] = "MALAYALAM"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["MONGOLIAN"] = 37] = "MONGOLIAN"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["MYANMAR"] = 38] = "MYANMAR"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["ORIYA"] = 39] = "ORIYA"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["PERSIAN"] = 40] = "PERSIAN"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["SIMP_CHINESE_FORMAL"] = 41] = "SIMP_CHINESE_FORMAL"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["SIMP_CHINESE_INFORMAL"] = 42] = "SIMP_CHINESE_INFORMAL"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["TAMIL"] = 43] = "TAMIL"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["TELUGU"] = 44] = "TELUGU"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["THAI"] = 45] = "THAI"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["TIBETAN"] = 46] = "TIBETAN"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["TRAD_CHINESE_FORMAL"] = 47] = "TRAD_CHINESE_FORMAL"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["TRAD_CHINESE_INFORMAL"] = 48] = "TRAD_CHINESE_INFORMAL"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["UPPER_ARMENIAN"] = 49] = "UPPER_ARMENIAN"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["DISCLOSURE_OPEN"] = 50] = "DISCLOSURE_OPEN"; + LIST_STYLE_TYPE[LIST_STYLE_TYPE["DISCLOSURE_CLOSED"] = 51] = "DISCLOSURE_CLOSED"; + })(LIST_STYLE_TYPE || (LIST_STYLE_TYPE = {})); + var listStyleType = { + name: 'list-style-type', + initialValue: 'none', + prefix: false, + type: PropertyDescriptorParsingType.IDENT_VALUE, + parse: function (type) { + switch (type) { + case 'disc': + return LIST_STYLE_TYPE.DISC; + case 'circle': + return LIST_STYLE_TYPE.CIRCLE; + case 'square': + return LIST_STYLE_TYPE.SQUARE; + case 'decimal': + return LIST_STYLE_TYPE.DECIMAL; + case 'cjk-decimal': + return LIST_STYLE_TYPE.CJK_DECIMAL; + case 'decimal-leading-zero': + return LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO; + case 'lower-roman': + return LIST_STYLE_TYPE.LOWER_ROMAN; + case 'upper-roman': + return LIST_STYLE_TYPE.UPPER_ROMAN; + case 'lower-greek': + return LIST_STYLE_TYPE.LOWER_GREEK; + case 'lower-alpha': + return LIST_STYLE_TYPE.LOWER_ALPHA; + case 'upper-alpha': + return LIST_STYLE_TYPE.UPPER_ALPHA; + case 'arabic-indic': + return LIST_STYLE_TYPE.ARABIC_INDIC; + case 'armenian': + return LIST_STYLE_TYPE.ARMENIAN; + case 'bengali': + return LIST_STYLE_TYPE.BENGALI; + case 'cambodian': + return LIST_STYLE_TYPE.CAMBODIAN; + case 'cjk-earthly-branch': + return LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH; + case 'cjk-heavenly-stem': + return LIST_STYLE_TYPE.CJK_HEAVENLY_STEM; + case 'cjk-ideographic': + return LIST_STYLE_TYPE.CJK_IDEOGRAPHIC; + case 'devanagari': + return LIST_STYLE_TYPE.DEVANAGARI; + case 'ethiopic-numeric': + return LIST_STYLE_TYPE.ETHIOPIC_NUMERIC; + case 'georgian': + return LIST_STYLE_TYPE.GEORGIAN; + case 'gujarati': + return LIST_STYLE_TYPE.GUJARATI; + case 'gurmukhi': + return LIST_STYLE_TYPE.GURMUKHI; + case 'hebrew': + return LIST_STYLE_TYPE.HEBREW; + case 'hiragana': + return LIST_STYLE_TYPE.HIRAGANA; + case 'hiragana-iroha': + return LIST_STYLE_TYPE.HIRAGANA_IROHA; + case 'japanese-formal': + return LIST_STYLE_TYPE.JAPANESE_FORMAL; + case 'japanese-informal': + return LIST_STYLE_TYPE.JAPANESE_INFORMAL; + case 'kannada': + return LIST_STYLE_TYPE.KANNADA; + case 'katakana': + return LIST_STYLE_TYPE.KATAKANA; + case 'katakana-iroha': + return LIST_STYLE_TYPE.KATAKANA_IROHA; + case 'khmer': + return LIST_STYLE_TYPE.KHMER; + case 'korean-hangul-formal': + return LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL; + case 'korean-hanja-formal': + return LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL; + case 'korean-hanja-informal': + return LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL; + case 'lao': + return LIST_STYLE_TYPE.LAO; + case 'lower-armenian': + return LIST_STYLE_TYPE.LOWER_ARMENIAN; + case 'malayalam': + return LIST_STYLE_TYPE.MALAYALAM; + case 'mongolian': + return LIST_STYLE_TYPE.MONGOLIAN; + case 'myanmar': + return LIST_STYLE_TYPE.MYANMAR; + case 'oriya': + return LIST_STYLE_TYPE.ORIYA; + case 'persian': + return LIST_STYLE_TYPE.PERSIAN; + case 'simp-chinese-formal': + return LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL; + case 'simp-chinese-informal': + return LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL; + case 'tamil': + return LIST_STYLE_TYPE.TAMIL; + case 'telugu': + return LIST_STYLE_TYPE.TELUGU; + case 'thai': + return LIST_STYLE_TYPE.THAI; + case 'tibetan': + return LIST_STYLE_TYPE.TIBETAN; + case 'trad-chinese-formal': + return LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL; + case 'trad-chinese-informal': + return LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL; + case 'upper-armenian': + return LIST_STYLE_TYPE.UPPER_ARMENIAN; + case 'disclosure-open': + return LIST_STYLE_TYPE.DISCLOSURE_OPEN; + case 'disclosure-closed': + return LIST_STYLE_TYPE.DISCLOSURE_CLOSED; + case 'none': + default: + return LIST_STYLE_TYPE.NONE; + } + } + }; + + var marginForSide = function (side) { return ({ + name: "margin-" + side, + initialValue: '0', + prefix: false, + type: PropertyDescriptorParsingType.TOKEN_VALUE + }); }; + var marginTop = marginForSide('top'); + var marginRight = marginForSide('right'); + var marginBottom = marginForSide('bottom'); + var marginLeft = marginForSide('left'); + + var OVERFLOW; + (function (OVERFLOW) { + OVERFLOW[OVERFLOW["VISIBLE"] = 0] = "VISIBLE"; + OVERFLOW[OVERFLOW["HIDDEN"] = 1] = "HIDDEN"; + OVERFLOW[OVERFLOW["SCROLL"] = 2] = "SCROLL"; + OVERFLOW[OVERFLOW["AUTO"] = 3] = "AUTO"; + })(OVERFLOW || (OVERFLOW = {})); + var overflow = { + name: 'overflow', + initialValue: 'visible', + prefix: false, + type: PropertyDescriptorParsingType.LIST, + parse: function (tokens) { + return tokens.filter(isIdentToken).map(function (overflow) { + switch (overflow.value) { + case 'hidden': + return OVERFLOW.HIDDEN; + case 'scroll': + return OVERFLOW.SCROLL; + case 'auto': + return OVERFLOW.AUTO; + case 'visible': + default: + return OVERFLOW.VISIBLE; + } + }); + } + }; + + var OVERFLOW_WRAP; + (function (OVERFLOW_WRAP) { + OVERFLOW_WRAP["NORMAL"] = "normal"; + OVERFLOW_WRAP["BREAK_WORD"] = "break-word"; + })(OVERFLOW_WRAP || (OVERFLOW_WRAP = {})); + var overflowWrap = { + name: 'overflow-wrap', + initialValue: 'normal', + prefix: false, + type: PropertyDescriptorParsingType.IDENT_VALUE, + parse: function (overflow) { + switch (overflow) { + case 'break-word': + return OVERFLOW_WRAP.BREAK_WORD; + case 'normal': + default: + return OVERFLOW_WRAP.NORMAL; + } + } + }; + + var paddingForSide = function (side) { return ({ + name: "padding-" + side, + initialValue: '0', + prefix: false, + type: PropertyDescriptorParsingType.TYPE_VALUE, + format: 'length-percentage' + }); }; + var paddingTop = paddingForSide('top'); + var paddingRight = paddingForSide('right'); + var paddingBottom = paddingForSide('bottom'); + var paddingLeft = paddingForSide('left'); + + var TEXT_ALIGN; + (function (TEXT_ALIGN) { + TEXT_ALIGN[TEXT_ALIGN["LEFT"] = 0] = "LEFT"; + TEXT_ALIGN[TEXT_ALIGN["CENTER"] = 1] = "CENTER"; + TEXT_ALIGN[TEXT_ALIGN["RIGHT"] = 2] = "RIGHT"; + })(TEXT_ALIGN || (TEXT_ALIGN = {})); + var textAlign = { + name: 'text-align', + initialValue: 'left', + prefix: false, + type: PropertyDescriptorParsingType.IDENT_VALUE, + parse: function (textAlign) { + switch (textAlign) { + case 'right': + return TEXT_ALIGN.RIGHT; + case 'center': + case 'justify': + return TEXT_ALIGN.CENTER; + case 'left': + default: + return TEXT_ALIGN.LEFT; + } + } + }; + + var POSITION; + (function (POSITION) { + POSITION[POSITION["STATIC"] = 0] = "STATIC"; + POSITION[POSITION["RELATIVE"] = 1] = "RELATIVE"; + POSITION[POSITION["ABSOLUTE"] = 2] = "ABSOLUTE"; + POSITION[POSITION["FIXED"] = 3] = "FIXED"; + POSITION[POSITION["STICKY"] = 4] = "STICKY"; + })(POSITION || (POSITION = {})); + var position = { + name: 'position', + initialValue: 'static', + prefix: false, + type: PropertyDescriptorParsingType.IDENT_VALUE, + parse: function (position) { + switch (position) { + case 'relative': + return POSITION.RELATIVE; + case 'absolute': + return POSITION.ABSOLUTE; + case 'fixed': + return POSITION.FIXED; + case 'sticky': + return POSITION.STICKY; + } + return POSITION.STATIC; + } + }; + + var textShadow = { + name: 'text-shadow', + initialValue: 'none', + type: PropertyDescriptorParsingType.LIST, + prefix: false, + parse: function (tokens) { + if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) { + return []; + } + return parseFunctionArgs(tokens).map(function (values) { + var shadow = { + color: COLORS.TRANSPARENT, + offsetX: ZERO_LENGTH, + offsetY: ZERO_LENGTH, + blur: ZERO_LENGTH + }; + var c = 0; + for (var i = 0; i < values.length; i++) { + var token = values[i]; + if (isLength(token)) { + if (c === 0) { + shadow.offsetX = token; + } + else if (c === 1) { + shadow.offsetY = token; + } + else { + shadow.blur = token; + } + c++; + } + else { + shadow.color = color.parse(token); + } + } + return shadow; + }); + } + }; + + var TEXT_TRANSFORM; + (function (TEXT_TRANSFORM) { + TEXT_TRANSFORM[TEXT_TRANSFORM["NONE"] = 0] = "NONE"; + TEXT_TRANSFORM[TEXT_TRANSFORM["LOWERCASE"] = 1] = "LOWERCASE"; + TEXT_TRANSFORM[TEXT_TRANSFORM["UPPERCASE"] = 2] = "UPPERCASE"; + TEXT_TRANSFORM[TEXT_TRANSFORM["CAPITALIZE"] = 3] = "CAPITALIZE"; + })(TEXT_TRANSFORM || (TEXT_TRANSFORM = {})); + var textTransform = { + name: 'text-transform', + initialValue: 'none', + prefix: false, + type: PropertyDescriptorParsingType.IDENT_VALUE, + parse: function (textTransform) { + switch (textTransform) { + case 'uppercase': + return TEXT_TRANSFORM.UPPERCASE; + case 'lowercase': + return TEXT_TRANSFORM.LOWERCASE; + case 'capitalize': + return TEXT_TRANSFORM.CAPITALIZE; + } + return TEXT_TRANSFORM.NONE; + } + }; + + var transform = { + name: 'transform', + initialValue: 'none', + prefix: true, + type: PropertyDescriptorParsingType.VALUE, + parse: function (token) { + if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') { + return null; + } + if (token.type === TokenType.FUNCTION) { + var transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name]; + if (typeof transformFunction === 'undefined') { + throw new Error("Attempting to parse an unsupported transform function \"" + token.name + "\""); + } + return transformFunction(token.values); + } + return null; + } + }; + var matrix = function (args) { + var values = args.filter(function (arg) { return arg.type === TokenType.NUMBER_TOKEN; }).map(function (arg) { return arg.number; }); + return values.length === 6 ? values : null; + }; + // doesn't support 3D transforms at the moment + var matrix3d = function (args) { + var values = args.filter(function (arg) { return arg.type === TokenType.NUMBER_TOKEN; }).map(function (arg) { return arg.number; }); + var a1 = values[0], b1 = values[1], _a = values[2], _b = values[3], a2 = values[4], b2 = values[5], _c = values[6], _d = values[7], _e = values[8], _f = values[9], _g = values[10], _h = values[11], a4 = values[12], b4 = values[13], _j = values[14], _k = values[15]; + return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null; + }; + var SUPPORTED_TRANSFORM_FUNCTIONS = { + matrix: matrix, + matrix3d: matrix3d + }; + + var DEFAULT_VALUE = { + type: TokenType.PERCENTAGE_TOKEN, + number: 50, + flags: FLAG_INTEGER + }; + var DEFAULT = [DEFAULT_VALUE, DEFAULT_VALUE]; + var transformOrigin = { + name: 'transform-origin', + initialValue: '50% 50%', + prefix: true, + type: PropertyDescriptorParsingType.LIST, + parse: function (tokens) { + var origins = tokens.filter(isLengthPercentage); + if (origins.length !== 2) { + return DEFAULT; + } + return [origins[0], origins[1]]; + } + }; + + var VISIBILITY; + (function (VISIBILITY) { + VISIBILITY[VISIBILITY["VISIBLE"] = 0] = "VISIBLE"; + VISIBILITY[VISIBILITY["HIDDEN"] = 1] = "HIDDEN"; + VISIBILITY[VISIBILITY["COLLAPSE"] = 2] = "COLLAPSE"; + })(VISIBILITY || (VISIBILITY = {})); + var visibility = { + name: 'visible', + initialValue: 'none', + prefix: false, + type: PropertyDescriptorParsingType.IDENT_VALUE, + parse: function (visibility) { + switch (visibility) { + case 'hidden': + return VISIBILITY.HIDDEN; + case 'collapse': + return VISIBILITY.COLLAPSE; + case 'visible': + default: + return VISIBILITY.VISIBLE; + } + } + }; + + var WORD_BREAK; + (function (WORD_BREAK) { + WORD_BREAK["NORMAL"] = "normal"; + WORD_BREAK["BREAK_ALL"] = "break-all"; + WORD_BREAK["KEEP_ALL"] = "keep-all"; + })(WORD_BREAK || (WORD_BREAK = {})); + var wordBreak = { + name: 'word-break', + initialValue: 'normal', + prefix: false, + type: PropertyDescriptorParsingType.IDENT_VALUE, + parse: function (wordBreak) { + switch (wordBreak) { + case 'break-all': + return WORD_BREAK.BREAK_ALL; + case 'keep-all': + return WORD_BREAK.KEEP_ALL; + case 'normal': + default: + return WORD_BREAK.NORMAL; + } + } + }; + + var zIndex = { + name: 'z-index', + initialValue: 'auto', + prefix: false, + type: PropertyDescriptorParsingType.VALUE, + parse: function (token) { + if (token.type === TokenType.IDENT_TOKEN) { + return { auto: true, order: 0 }; + } + if (isNumberToken(token)) { + return { auto: false, order: token.number }; + } + throw new Error("Invalid z-index number parsed"); + } + }; + + var opacity = { + name: 'opacity', + initialValue: '1', + type: PropertyDescriptorParsingType.VALUE, + prefix: false, + parse: function (token) { + if (isNumberToken(token)) { + return token.number; + } + return 1; + } + }; + + var textDecorationColor = { + name: "text-decoration-color", + initialValue: 'transparent', + prefix: false, + type: PropertyDescriptorParsingType.TYPE_VALUE, + format: 'color' + }; + + var textDecorationLine = { + name: 'text-decoration-line', + initialValue: 'none', + prefix: false, + type: PropertyDescriptorParsingType.LIST, + parse: function (tokens) { + return tokens + .filter(isIdentToken) + .map(function (token) { + switch (token.value) { + case 'underline': + return 1 /* UNDERLINE */; + case 'overline': + return 2 /* OVERLINE */; + case 'line-through': + return 3 /* LINE_THROUGH */; + case 'none': + return 4 /* BLINK */; + } + return 0 /* NONE */; + }) + .filter(function (line) { return line !== 0 /* NONE */; }); + } + }; + + var fontFamily = { + name: "font-family", + initialValue: '', + prefix: false, + type: PropertyDescriptorParsingType.LIST, + parse: function (tokens) { + var accumulator = []; + var results = []; + tokens.forEach(function (token) { + switch (token.type) { + case TokenType.IDENT_TOKEN: + case TokenType.STRING_TOKEN: + accumulator.push(token.value); + break; + case TokenType.NUMBER_TOKEN: + accumulator.push(token.number.toString()); + break; + case TokenType.COMMA_TOKEN: + results.push(accumulator.join(' ')); + accumulator.length = 0; + break; + } + }); + if (accumulator.length) { + results.push(accumulator.join(' ')); + } + return results.map(function (result) { return (result.indexOf(' ') === -1 ? result : "'" + result + "'"); }); + } + }; + + var fontSize = { + name: "font-size", + initialValue: '0', + prefix: false, + type: PropertyDescriptorParsingType.TYPE_VALUE, + format: 'length' + }; + + var fontWeight = { + name: 'font-weight', + initialValue: 'normal', + type: PropertyDescriptorParsingType.VALUE, + prefix: false, + parse: function (token) { + if (isNumberToken(token)) { + return token.number; + } + if (isIdentToken(token)) { + switch (token.value) { + case 'bold': + return 700; + case 'normal': + default: + return 400; + } + } + return 400; + } + }; + + var fontVariant = { + name: 'font-variant', + initialValue: 'none', + type: PropertyDescriptorParsingType.LIST, + prefix: false, + parse: function (tokens) { + return tokens.filter(isIdentToken).map(function (token) { return token.value; }); + } + }; + + var FONT_STYLE; + (function (FONT_STYLE) { + FONT_STYLE["NORMAL"] = "normal"; + FONT_STYLE["ITALIC"] = "italic"; + FONT_STYLE["OBLIQUE"] = "oblique"; + })(FONT_STYLE || (FONT_STYLE = {})); + var fontStyle = { + name: 'font-style', + initialValue: 'normal', + prefix: false, + type: PropertyDescriptorParsingType.IDENT_VALUE, + parse: function (overflow) { + switch (overflow) { + case 'oblique': + return FONT_STYLE.OBLIQUE; + case 'italic': + return FONT_STYLE.ITALIC; + case 'normal': + default: + return FONT_STYLE.NORMAL; + } + } + }; + + var contains = function (bit, value) { return (bit & value) !== 0; }; + + var content = { + name: 'content', + initialValue: 'none', + type: PropertyDescriptorParsingType.LIST, + prefix: false, + parse: function (tokens) { + if (tokens.length === 0) { + return []; + } + var first = tokens[0]; + if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') { + return []; + } + return tokens; + } + }; + + var counterIncrement = { + name: 'counter-increment', + initialValue: 'none', + prefix: true, + type: PropertyDescriptorParsingType.LIST, + parse: function (tokens) { + if (tokens.length === 0) { + return null; + } + var first = tokens[0]; + if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') { + return null; + } + var increments = []; + var filtered = tokens.filter(nonWhiteSpace); + for (var i = 0; i < filtered.length; i++) { + var counter = filtered[i]; + var next = filtered[i + 1]; + if (counter.type === TokenType.IDENT_TOKEN) { + var increment = next && isNumberToken(next) ? next.number : 1; + increments.push({ counter: counter.value, increment: increment }); + } + } + return increments; + } + }; + + var counterReset = { + name: 'counter-reset', + initialValue: 'none', + prefix: true, + type: PropertyDescriptorParsingType.LIST, + parse: function (tokens) { + if (tokens.length === 0) { + return []; + } + var resets = []; + var filtered = tokens.filter(nonWhiteSpace); + for (var i = 0; i < filtered.length; i++) { + var counter = filtered[i]; + var next = filtered[i + 1]; + if (isIdentToken(counter) && counter.value !== 'none') { + var reset = next && isNumberToken(next) ? next.number : 0; + resets.push({ counter: counter.value, reset: reset }); + } + } + return resets; + } + }; + + var quotes = { + name: 'quotes', + initialValue: 'none', + prefix: true, + type: PropertyDescriptorParsingType.LIST, + parse: function (tokens) { + if (tokens.length === 0) { + return null; + } + var first = tokens[0]; + if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') { + return null; + } + var quotes = []; + var filtered = tokens.filter(isStringToken); + if (filtered.length % 2 !== 0) { + return null; + } + for (var i = 0; i < filtered.length; i += 2) { + var open_1 = filtered[i].value; + var close_1 = filtered[i + 1].value; + quotes.push({ open: open_1, close: close_1 }); + } + return quotes; + } + }; + var getQuote = function (quotes, depth, open) { + if (!quotes) { + return ''; + } + var quote = quotes[Math.min(depth, quotes.length - 1)]; + if (!quote) { + return ''; + } + return open ? quote.open : quote.close; + }; + + var boxShadow = { + name: 'box-shadow', + initialValue: 'none', + type: PropertyDescriptorParsingType.LIST, + prefix: false, + parse: function (tokens) { + if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) { + return []; + } + return parseFunctionArgs(tokens).map(function (values) { + var shadow = { + color: 0x000000ff, + offsetX: ZERO_LENGTH, + offsetY: ZERO_LENGTH, + blur: ZERO_LENGTH, + spread: ZERO_LENGTH, + inset: false + }; + var c = 0; + for (var i = 0; i < values.length; i++) { + var token = values[i]; + if (isIdentWithValue(token, 'inset')) { + shadow.inset = true; + } + else if (isLength(token)) { + if (c === 0) { + shadow.offsetX = token; + } + else if (c === 1) { + shadow.offsetY = token; + } + else if (c === 2) { + shadow.blur = token; + } + else { + shadow.spread = token; + } + c++; + } + else { + shadow.color = color.parse(token); + } + } + return shadow; + }); + } + }; + + var CSSParsedDeclaration = /** @class */ (function () { + function CSSParsedDeclaration(declaration) { + this.backgroundClip = parse(backgroundClip, declaration.backgroundClip); + this.backgroundColor = parse(backgroundColor, declaration.backgroundColor); + this.backgroundImage = parse(backgroundImage, declaration.backgroundImage); + this.backgroundOrigin = parse(backgroundOrigin, declaration.backgroundOrigin); + this.backgroundPosition = parse(backgroundPosition, declaration.backgroundPosition); + this.backgroundRepeat = parse(backgroundRepeat, declaration.backgroundRepeat); + this.backgroundSize = parse(backgroundSize, declaration.backgroundSize); + this.borderTopColor = parse(borderTopColor, declaration.borderTopColor); + this.borderRightColor = parse(borderRightColor, declaration.borderRightColor); + this.borderBottomColor = parse(borderBottomColor, declaration.borderBottomColor); + this.borderLeftColor = parse(borderLeftColor, declaration.borderLeftColor); + this.borderTopLeftRadius = parse(borderTopLeftRadius, declaration.borderTopLeftRadius); + this.borderTopRightRadius = parse(borderTopRightRadius, declaration.borderTopRightRadius); + this.borderBottomRightRadius = parse(borderBottomRightRadius, declaration.borderBottomRightRadius); + this.borderBottomLeftRadius = parse(borderBottomLeftRadius, declaration.borderBottomLeftRadius); + this.borderTopStyle = parse(borderTopStyle, declaration.borderTopStyle); + this.borderRightStyle = parse(borderRightStyle, declaration.borderRightStyle); + this.borderBottomStyle = parse(borderBottomStyle, declaration.borderBottomStyle); + this.borderLeftStyle = parse(borderLeftStyle, declaration.borderLeftStyle); + this.borderTopWidth = parse(borderTopWidth, declaration.borderTopWidth); + this.borderRightWidth = parse(borderRightWidth, declaration.borderRightWidth); + this.borderBottomWidth = parse(borderBottomWidth, declaration.borderBottomWidth); + this.borderLeftWidth = parse(borderLeftWidth, declaration.borderLeftWidth); + this.boxShadow = parse(boxShadow, declaration.boxShadow); + this.color = parse(color$1, declaration.color); + this.display = parse(display, declaration.display); + this.float = parse(float, declaration.cssFloat); + this.fontFamily = parse(fontFamily, declaration.fontFamily); + this.fontSize = parse(fontSize, declaration.fontSize); + this.fontStyle = parse(fontStyle, declaration.fontStyle); + this.fontVariant = parse(fontVariant, declaration.fontVariant); + this.fontWeight = parse(fontWeight, declaration.fontWeight); + this.letterSpacing = parse(letterSpacing, declaration.letterSpacing); + this.lineBreak = parse(lineBreak, declaration.lineBreak); + this.lineHeight = parse(lineHeight, declaration.lineHeight); + this.listStyleImage = parse(listStyleImage, declaration.listStyleImage); + this.listStylePosition = parse(listStylePosition, declaration.listStylePosition); + this.listStyleType = parse(listStyleType, declaration.listStyleType); + this.marginTop = parse(marginTop, declaration.marginTop); + this.marginRight = parse(marginRight, declaration.marginRight); + this.marginBottom = parse(marginBottom, declaration.marginBottom); + this.marginLeft = parse(marginLeft, declaration.marginLeft); + this.opacity = parse(opacity, declaration.opacity); + var overflowTuple = parse(overflow, declaration.overflow); + this.overflowX = overflowTuple[0]; + this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0]; + this.overflowWrap = parse(overflowWrap, declaration.overflowWrap); + this.paddingTop = parse(paddingTop, declaration.paddingTop); + this.paddingRight = parse(paddingRight, declaration.paddingRight); + this.paddingBottom = parse(paddingBottom, declaration.paddingBottom); + this.paddingLeft = parse(paddingLeft, declaration.paddingLeft); + this.position = parse(position, declaration.position); + this.textAlign = parse(textAlign, declaration.textAlign); + this.textDecorationColor = parse(textDecorationColor, declaration.textDecorationColor || declaration.color); + this.textDecorationLine = parse(textDecorationLine, declaration.textDecorationLine); + this.textShadow = parse(textShadow, declaration.textShadow); + this.textTransform = parse(textTransform, declaration.textTransform); + this.transform = parse(transform, declaration.transform); + this.transformOrigin = parse(transformOrigin, declaration.transformOrigin); + this.visibility = parse(visibility, declaration.visibility); + this.wordBreak = parse(wordBreak, declaration.wordBreak); + this.zIndex = parse(zIndex, declaration.zIndex); + } + CSSParsedDeclaration.prototype.isVisible = function () { + return this.display > 0 && this.opacity > 0 && this.visibility === VISIBILITY.VISIBLE; + }; + CSSParsedDeclaration.prototype.isTransparent = function () { + return isTransparent(this.backgroundColor); + }; + CSSParsedDeclaration.prototype.isTransformed = function () { + return this.transform !== null; + }; + CSSParsedDeclaration.prototype.isPositioned = function () { + return this.position !== POSITION.STATIC; + }; + CSSParsedDeclaration.prototype.isPositionedWithZIndex = function () { + return this.isPositioned() && !this.zIndex.auto; + }; + CSSParsedDeclaration.prototype.isFloating = function () { + return this.float !== FLOAT.NONE; + }; + CSSParsedDeclaration.prototype.isInlineLevel = function () { + return (contains(this.display, 4 /* INLINE */) || + contains(this.display, 33554432 /* INLINE_BLOCK */) || + contains(this.display, 268435456 /* INLINE_FLEX */) || + contains(this.display, 536870912 /* INLINE_GRID */) || + contains(this.display, 67108864 /* INLINE_LIST_ITEM */) || + contains(this.display, 134217728 /* INLINE_TABLE */)); + }; + return CSSParsedDeclaration; + }()); + var CSSParsedPseudoDeclaration = /** @class */ (function () { + function CSSParsedPseudoDeclaration(declaration) { + this.content = parse(content, declaration.content); + this.quotes = parse(quotes, declaration.quotes); + } + return CSSParsedPseudoDeclaration; + }()); + var CSSParsedCounterDeclaration = /** @class */ (function () { + function CSSParsedCounterDeclaration(declaration) { + this.counterIncrement = parse(counterIncrement, declaration.counterIncrement); + this.counterReset = parse(counterReset, declaration.counterReset); + } + return CSSParsedCounterDeclaration; + }()); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + var parse = function (descriptor, style) { + var tokenizer = new Tokenizer(); + var value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue; + tokenizer.write(value); + var parser = new Parser(tokenizer.read()); + switch (descriptor.type) { + case PropertyDescriptorParsingType.IDENT_VALUE: + var token = parser.parseComponentValue(); + return descriptor.parse(isIdentToken(token) ? token.value : descriptor.initialValue); + case PropertyDescriptorParsingType.VALUE: + return descriptor.parse(parser.parseComponentValue()); + case PropertyDescriptorParsingType.LIST: + return descriptor.parse(parser.parseComponentValues()); + case PropertyDescriptorParsingType.TOKEN_VALUE: + return parser.parseComponentValue(); + case PropertyDescriptorParsingType.TYPE_VALUE: + switch (descriptor.format) { + case 'angle': + return angle.parse(parser.parseComponentValue()); + case 'color': + return color.parse(parser.parseComponentValue()); + case 'image': + return image.parse(parser.parseComponentValue()); + case 'length': + var length_1 = parser.parseComponentValue(); + return isLength(length_1) ? length_1 : ZERO_LENGTH; + case 'length-percentage': + var value_1 = parser.parseComponentValue(); + return isLengthPercentage(value_1) ? value_1 : ZERO_LENGTH; + } + } + throw new Error("Attempting to parse unsupported css format type " + descriptor.format); + }; + + var ElementContainer = /** @class */ (function () { + function ElementContainer(element) { + this.styles = new CSSParsedDeclaration(window.getComputedStyle(element, null)); + this.textNodes = []; + this.elements = []; + if (this.styles.transform !== null && isHTMLElementNode(element)) { + // getBoundingClientRect takes transforms into account + element.style.transform = 'none'; + } + this.bounds = parseBounds(element); + this.flags = 0; + } + return ElementContainer; + }()); + + var TextBounds = /** @class */ (function () { + function TextBounds(text, bounds) { + this.text = text; + this.bounds = bounds; + } + return TextBounds; + }()); + var parseTextBounds = function (value, styles, node) { + var textList = breakText(value, styles); + var textBounds = []; + var offset = 0; + textList.forEach(function (text) { + if (styles.textDecorationLine.length || text.trim().length > 0) { + if (FEATURES.SUPPORT_RANGE_BOUNDS) { + textBounds.push(new TextBounds(text, getRangeBounds(node, offset, text.length))); + } + else { + var replacementNode = node.splitText(text.length); + textBounds.push(new TextBounds(text, getWrapperBounds(node))); + node = replacementNode; + } + } + else if (!FEATURES.SUPPORT_RANGE_BOUNDS) { + node = node.splitText(text.length); + } + offset += text.length; + }); + return textBounds; + }; + var getWrapperBounds = function (node) { + var ownerDocument = node.ownerDocument; + if (ownerDocument) { + var wrapper = ownerDocument.createElement('html2canvaswrapper'); + wrapper.appendChild(node.cloneNode(true)); + var parentNode = node.parentNode; + if (parentNode) { + parentNode.replaceChild(wrapper, node); + var bounds = parseBounds(wrapper); + if (wrapper.firstChild) { + parentNode.replaceChild(wrapper.firstChild, wrapper); + } + return bounds; + } + } + return new Bounds(0, 0, 0, 0); + }; + var getRangeBounds = function (node, offset, length) { + var ownerDocument = node.ownerDocument; + if (!ownerDocument) { + throw new Error('Node has no owner document'); + } + var range = ownerDocument.createRange(); + range.setStart(node, offset); + range.setEnd(node, offset + length); + return Bounds.fromClientRect(range.getBoundingClientRect()); + }; + var breakText = function (value, styles) { + return styles.letterSpacing !== 0 ? toCodePoints(value).map(function (i) { return fromCodePoint(i); }) : breakWords(value, styles); + }; + var breakWords = function (str, styles) { + var breaker = LineBreaker(str, { + lineBreak: styles.lineBreak, + wordBreak: styles.overflowWrap === OVERFLOW_WRAP.BREAK_WORD ? 'break-word' : styles.wordBreak + }); + var words = []; + var bk; + while (!(bk = breaker.next()).done) { + if (bk.value) { + words.push(bk.value.slice()); + } + } + return words; + }; + + var TextContainer = /** @class */ (function () { + function TextContainer(node, styles) { + this.text = transform$1(node.data, styles.textTransform); + this.textBounds = parseTextBounds(this.text, styles, node); + } + return TextContainer; + }()); + var transform$1 = function (text, transform) { + switch (transform) { + case TEXT_TRANSFORM.LOWERCASE: + return text.toLowerCase(); + case TEXT_TRANSFORM.CAPITALIZE: + return text.replace(CAPITALIZE, capitalize); + case TEXT_TRANSFORM.UPPERCASE: + return text.toUpperCase(); + default: + return text; + } + }; + var CAPITALIZE = /(^|\s|:|-|\(|\))([a-z])/g; + var capitalize = function (m, p1, p2) { + if (m.length > 0) { + return p1 + p2.toUpperCase(); + } + return m; + }; + + var ImageElementContainer = /** @class */ (function (_super) { + __extends(ImageElementContainer, _super); + function ImageElementContainer(img) { + var _this = _super.call(this, img) || this; + _this.src = img.currentSrc || img.src; + _this.intrinsicWidth = img.naturalWidth; + _this.intrinsicHeight = img.naturalHeight; + CacheStorage.getInstance().addImage(_this.src); + return _this; + } + return ImageElementContainer; + }(ElementContainer)); + + var CanvasElementContainer = /** @class */ (function (_super) { + __extends(CanvasElementContainer, _super); + function CanvasElementContainer(canvas) { + var _this = _super.call(this, canvas) || this; + _this.canvas = canvas; + _this.intrinsicWidth = canvas.width; + _this.intrinsicHeight = canvas.height; + return _this; + } + return CanvasElementContainer; + }(ElementContainer)); + + var SVGElementContainer = /** @class */ (function (_super) { + __extends(SVGElementContainer, _super); + function SVGElementContainer(img) { + var _this = _super.call(this, img) || this; + var s = new XMLSerializer(); + _this.svg = "data:image/svg+xml," + encodeURIComponent(s.serializeToString(img)); + _this.intrinsicWidth = img.width.baseVal.value; + _this.intrinsicHeight = img.height.baseVal.value; + CacheStorage.getInstance().addImage(_this.svg); + return _this; + } + return SVGElementContainer; + }(ElementContainer)); + + var LIElementContainer = /** @class */ (function (_super) { + __extends(LIElementContainer, _super); + function LIElementContainer(element) { + var _this = _super.call(this, element) || this; + _this.value = element.value; + return _this; + } + return LIElementContainer; + }(ElementContainer)); + + var OLElementContainer = /** @class */ (function (_super) { + __extends(OLElementContainer, _super); + function OLElementContainer(element) { + var _this = _super.call(this, element) || this; + _this.start = element.start; + _this.reversed = typeof element.reversed === 'boolean' && element.reversed === true; + return _this; + } + return OLElementContainer; + }(ElementContainer)); + + var CHECKBOX_BORDER_RADIUS = [ + { + type: TokenType.DIMENSION_TOKEN, + flags: 0, + unit: 'px', + number: 3 + } + ]; + var RADIO_BORDER_RADIUS = [ + { + type: TokenType.PERCENTAGE_TOKEN, + flags: 0, + number: 50 + } + ]; + var reformatInputBounds = function (bounds) { + if (bounds.width > bounds.height) { + return new Bounds(bounds.left + (bounds.width - bounds.height) / 2, bounds.top, bounds.height, bounds.height); + } + else if (bounds.width < bounds.height) { + return new Bounds(bounds.left, bounds.top + (bounds.height - bounds.width) / 2, bounds.width, bounds.width); + } + return bounds; + }; + var getInputValue = function (node) { + var value = node.type === PASSWORD ? new Array(node.value.length + 1).join('\u2022') : node.value; + return value.length === 0 ? node.placeholder || '' : value; + }; + var CHECKBOX = 'checkbox'; + var RADIO = 'radio'; + var PASSWORD = 'password'; + var INPUT_COLOR = 0x2a2a2aff; + var InputElementContainer = /** @class */ (function (_super) { + __extends(InputElementContainer, _super); + function InputElementContainer(input) { + var _this = _super.call(this, input) || this; + _this.type = input.type.toLowerCase(); + _this.checked = input.checked; + _this.value = getInputValue(input); + if (_this.type === CHECKBOX || _this.type === RADIO) { + _this.styles.backgroundColor = 0xdededeff; + _this.styles.borderTopColor = _this.styles.borderRightColor = _this.styles.borderBottomColor = _this.styles.borderLeftColor = 0xa5a5a5ff; + _this.styles.borderTopWidth = _this.styles.borderRightWidth = _this.styles.borderBottomWidth = _this.styles.borderLeftWidth = 1; + _this.styles.borderTopStyle = _this.styles.borderRightStyle = _this.styles.borderBottomStyle = _this.styles.borderLeftStyle = + BORDER_STYLE.SOLID; + _this.styles.backgroundClip = [BACKGROUND_CLIP.BORDER_BOX]; + _this.styles.backgroundOrigin = [0 /* BORDER_BOX */]; + _this.bounds = reformatInputBounds(_this.bounds); + } + switch (_this.type) { + case CHECKBOX: + _this.styles.borderTopRightRadius = _this.styles.borderTopLeftRadius = _this.styles.borderBottomRightRadius = _this.styles.borderBottomLeftRadius = CHECKBOX_BORDER_RADIUS; + break; + case RADIO: + _this.styles.borderTopRightRadius = _this.styles.borderTopLeftRadius = _this.styles.borderBottomRightRadius = _this.styles.borderBottomLeftRadius = RADIO_BORDER_RADIUS; + break; + } + return _this; + } + return InputElementContainer; + }(ElementContainer)); + + var SelectElementContainer = /** @class */ (function (_super) { + __extends(SelectElementContainer, _super); + function SelectElementContainer(element) { + var _this = _super.call(this, element) || this; + var option = element.options[element.selectedIndex || 0]; + _this.value = option ? option.text || '' : ''; + return _this; + } + return SelectElementContainer; + }(ElementContainer)); + + var TextareaElementContainer = /** @class */ (function (_super) { + __extends(TextareaElementContainer, _super); + function TextareaElementContainer(element) { + var _this = _super.call(this, element) || this; + _this.value = element.value; + return _this; + } + return TextareaElementContainer; + }(ElementContainer)); + + var parseColor = function (value) { return color.parse(Parser.create(value).parseComponentValue()); }; + var IFrameElementContainer = /** @class */ (function (_super) { + __extends(IFrameElementContainer, _super); + function IFrameElementContainer(iframe) { + var _this = _super.call(this, iframe) || this; + _this.src = iframe.src; + _this.width = parseInt(iframe.width, 10) || 0; + _this.height = parseInt(iframe.height, 10) || 0; + _this.backgroundColor = _this.styles.backgroundColor; + try { + if (iframe.contentWindow && + iframe.contentWindow.document && + iframe.contentWindow.document.documentElement) { + _this.tree = parseTree(iframe.contentWindow.document.documentElement); + // http://www.w3.org/TR/css3-background/#special-backgrounds + var documentBackgroundColor = iframe.contentWindow.document.documentElement + ? parseColor(getComputedStyle(iframe.contentWindow.document.documentElement) + .backgroundColor) + : COLORS.TRANSPARENT; + var bodyBackgroundColor = iframe.contentWindow.document.body + ? parseColor(getComputedStyle(iframe.contentWindow.document.body).backgroundColor) + : COLORS.TRANSPARENT; + _this.backgroundColor = isTransparent(documentBackgroundColor) + ? isTransparent(bodyBackgroundColor) + ? _this.styles.backgroundColor + : bodyBackgroundColor + : documentBackgroundColor; + } + } + catch (e) { } + return _this; + } + return IFrameElementContainer; + }(ElementContainer)); + + var LIST_OWNERS = ['OL', 'UL', 'MENU']; + var parseNodeTree = function (node, parent, root) { + for (var childNode = node.firstChild, nextNode = void 0; childNode; childNode = nextNode) { + nextNode = childNode.nextSibling; + if (isTextNode(childNode) && childNode.data.trim().length > 0) { + parent.textNodes.push(new TextContainer(childNode, parent.styles)); + } + else if (isElementNode(childNode)) { + var container = createContainer(childNode); + if (container.styles.isVisible()) { + if (createsRealStackingContext(childNode, container, root)) { + container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */; + } + else if (createsStackingContext(container.styles)) { + container.flags |= 2 /* CREATES_STACKING_CONTEXT */; + } + if (LIST_OWNERS.indexOf(childNode.tagName) !== -1) { + container.flags |= 8 /* IS_LIST_OWNER */; + } + parent.elements.push(container); + if (!isTextareaElement(childNode) && !isSVGElement(childNode) && !isSelectElement(childNode)) { + parseNodeTree(childNode, container, root); + } + } + } + } + }; + var createContainer = function (element) { + if (isImageElement(element)) { + return new ImageElementContainer(element); + } + if (isCanvasElement(element)) { + return new CanvasElementContainer(element); + } + if (isSVGElement(element)) { + return new SVGElementContainer(element); + } + if (isLIElement(element)) { + return new LIElementContainer(element); + } + if (isOLElement(element)) { + return new OLElementContainer(element); + } + if (isInputElement(element)) { + return new InputElementContainer(element); + } + if (isSelectElement(element)) { + return new SelectElementContainer(element); + } + if (isTextareaElement(element)) { + return new TextareaElementContainer(element); + } + if (isIFrameElement(element)) { + return new IFrameElementContainer(element); + } + return new ElementContainer(element); + }; + var parseTree = function (element) { + var container = createContainer(element); + container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */; + parseNodeTree(element, container, container); + return container; + }; + var createsRealStackingContext = function (node, container, root) { + return (container.styles.isPositionedWithZIndex() || + container.styles.opacity < 1 || + container.styles.isTransformed() || + (isBodyElement(node) && root.styles.isTransparent())); + }; + var createsStackingContext = function (styles) { return styles.isPositioned() || styles.isFloating(); }; + var isTextNode = function (node) { return node.nodeType === Node.TEXT_NODE; }; + var isElementNode = function (node) { return node.nodeType === Node.ELEMENT_NODE; }; + var isHTMLElementNode = function (node) { + return isElementNode(node) && typeof node.style !== 'undefined' && !isSVGElementNode(node); + }; + var isSVGElementNode = function (element) { + return typeof element.className === 'object'; + }; + var isLIElement = function (node) { return node.tagName === 'LI'; }; + var isOLElement = function (node) { return node.tagName === 'OL'; }; + var isInputElement = function (node) { return node.tagName === 'INPUT'; }; + var isHTMLElement = function (node) { return node.tagName === 'HTML'; }; + var isSVGElement = function (node) { return node.tagName === 'svg'; }; + var isBodyElement = function (node) { return node.tagName === 'BODY'; }; + var isCanvasElement = function (node) { return node.tagName === 'CANVAS'; }; + var isImageElement = function (node) { return node.tagName === 'IMG'; }; + var isIFrameElement = function (node) { return node.tagName === 'IFRAME'; }; + var isStyleElement = function (node) { return node.tagName === 'STYLE'; }; + var isScriptElement = function (node) { return node.tagName === 'SCRIPT'; }; + var isTextareaElement = function (node) { return node.tagName === 'TEXTAREA'; }; + var isSelectElement = function (node) { return node.tagName === 'SELECT'; }; + + var CounterState = /** @class */ (function () { + function CounterState() { + this.counters = {}; + } + CounterState.prototype.getCounterValue = function (name) { + var counter = this.counters[name]; + if (counter && counter.length) { + return counter[counter.length - 1]; + } + return 1; + }; + CounterState.prototype.getCounterValues = function (name) { + var counter = this.counters[name]; + return counter ? counter : []; + }; + CounterState.prototype.pop = function (counters) { + var _this = this; + counters.forEach(function (counter) { return _this.counters[counter].pop(); }); + }; + CounterState.prototype.parse = function (style) { + var _this = this; + var counterIncrement = style.counterIncrement; + var counterReset = style.counterReset; + var canReset = true; + if (counterIncrement !== null) { + counterIncrement.forEach(function (entry) { + var counter = _this.counters[entry.counter]; + if (counter && entry.increment !== 0) { + canReset = false; + counter[Math.max(0, counter.length - 1)] += entry.increment; + } + }); + } + var counterNames = []; + if (canReset) { + counterReset.forEach(function (entry) { + var counter = _this.counters[entry.counter]; + counterNames.push(entry.counter); + if (!counter) { + counter = _this.counters[entry.counter] = []; + } + counter.push(entry.reset); + }); + } + return counterNames; + }; + return CounterState; + }()); + var ROMAN_UPPER = { + integers: [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1], + values: ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I'] + }; + var ARMENIAN = { + integers: [ + 9000, + 8000, + 7000, + 6000, + 5000, + 4000, + 3000, + 2000, + 1000, + 900, + 800, + 700, + 600, + 500, + 400, + 300, + 200, + 100, + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1 + ], + values: [ + 'Ք', + 'Փ', + 'Ւ', + 'Ց', + 'Ր', + 'Տ', + 'Վ', + 'Ս', + 'Ռ', + 'Ջ', + 'Պ', + 'Չ', + 'Ո', + 'Շ', + 'Ն', + 'Յ', + 'Մ', + 'Ճ', + 'Ղ', + 'Ձ', + 'Հ', + 'Կ', + 'Ծ', + 'Խ', + 'Լ', + 'Ի', + 'Ժ', + 'Թ', + 'Ը', + 'Է', + 'Զ', + 'Ե', + 'Դ', + 'Գ', + 'Բ', + 'Ա' + ] + }; + var HEBREW = { + integers: [ + 10000, + 9000, + 8000, + 7000, + 6000, + 5000, + 4000, + 3000, + 2000, + 1000, + 400, + 300, + 200, + 100, + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 19, + 18, + 17, + 16, + 15, + 10, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1 + ], + values: [ + 'י׳', + 'ט׳', + 'ח׳', + 'ז׳', + 'ו׳', + 'ה׳', + 'ד׳', + 'ג׳', + 'ב׳', + 'א׳', + 'ת', + 'ש', + 'ר', + 'ק', + 'צ', + 'פ', + 'ע', + 'ס', + 'נ', + 'מ', + 'ל', + 'כ', + 'יט', + 'יח', + 'יז', + 'טז', + 'טו', + 'י', + 'ט', + 'ח', + 'ז', + 'ו', + 'ה', + 'ד', + 'ג', + 'ב', + 'א' + ] + }; + var GEORGIAN = { + integers: [ + 10000, + 9000, + 8000, + 7000, + 6000, + 5000, + 4000, + 3000, + 2000, + 1000, + 900, + 800, + 700, + 600, + 500, + 400, + 300, + 200, + 100, + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1 + ], + values: [ + 'ჵ', + 'ჰ', + 'ჯ', + 'ჴ', + 'ხ', + 'ჭ', + 'წ', + 'ძ', + 'ც', + 'ჩ', + 'შ', + 'ყ', + 'ღ', + 'ქ', + 'ფ', + 'ჳ', + 'ტ', + 'ს', + 'რ', + 'ჟ', + 'პ', + 'ო', + 'ჲ', + 'ნ', + 'მ', + 'ლ', + 'კ', + 'ი', + 'თ', + 'ჱ', + 'ზ', + 'ვ', + 'ე', + 'დ', + 'გ', + 'ბ', + 'ა' + ] + }; + var createAdditiveCounter = function (value, min, max, symbols, fallback, suffix) { + if (value < min || value > max) { + return createCounterText(value, fallback, suffix.length > 0); + } + return (symbols.integers.reduce(function (string, integer, index) { + while (value >= integer) { + value -= integer; + string += symbols.values[index]; + } + return string; + }, '') + suffix); + }; + var createCounterStyleWithSymbolResolver = function (value, codePointRangeLength, isNumeric, resolver) { + var string = ''; + do { + if (!isNumeric) { + value--; + } + string = resolver(value) + string; + value /= codePointRangeLength; + } while (value * codePointRangeLength >= codePointRangeLength); + return string; + }; + var createCounterStyleFromRange = function (value, codePointRangeStart, codePointRangeEnd, isNumeric, suffix) { + var codePointRangeLength = codePointRangeEnd - codePointRangeStart + 1; + return ((value < 0 ? '-' : '') + + (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, isNumeric, function (codePoint) { + return fromCodePoint(Math.floor(codePoint % codePointRangeLength) + codePointRangeStart); + }) + + suffix)); + }; + var createCounterStyleFromSymbols = function (value, symbols, suffix) { + if (suffix === void 0) { suffix = '. '; } + var codePointRangeLength = symbols.length; + return (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, false, function (codePoint) { return symbols[Math.floor(codePoint % codePointRangeLength)]; }) + suffix); + }; + var CJK_ZEROS = 1 << 0; + var CJK_TEN_COEFFICIENTS = 1 << 1; + var CJK_TEN_HIGH_COEFFICIENTS = 1 << 2; + var CJK_HUNDRED_COEFFICIENTS = 1 << 3; + var createCJKCounter = function (value, numbers, multipliers, negativeSign, suffix, flags) { + if (value < -9999 || value > 9999) { + return createCounterText(value, LIST_STYLE_TYPE.CJK_DECIMAL, suffix.length > 0); + } + var tmp = Math.abs(value); + var string = suffix; + if (tmp === 0) { + return numbers[0] + string; + } + for (var digit = 0; tmp > 0 && digit <= 4; digit++) { + var coefficient = tmp % 10; + if (coefficient === 0 && contains(flags, CJK_ZEROS) && string !== '') { + string = numbers[coefficient] + string; + } + else if (coefficient > 1 || + (coefficient === 1 && digit === 0) || + (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_COEFFICIENTS)) || + (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_HIGH_COEFFICIENTS) && value > 100) || + (coefficient === 1 && digit > 1 && contains(flags, CJK_HUNDRED_COEFFICIENTS))) { + string = numbers[coefficient] + (digit > 0 ? multipliers[digit - 1] : '') + string; + } + else if (coefficient === 1 && digit > 0) { + string = multipliers[digit - 1] + string; + } + tmp = Math.floor(tmp / 10); + } + return (value < 0 ? negativeSign : '') + string; + }; + var CHINESE_INFORMAL_MULTIPLIERS = '十百千萬'; + var CHINESE_FORMAL_MULTIPLIERS = '拾佰仟萬'; + var JAPANESE_NEGATIVE = 'マイナス'; + var KOREAN_NEGATIVE = '마이너스'; + var createCounterText = function (value, type, appendSuffix) { + var defaultSuffix = appendSuffix ? '. ' : ''; + var cjkSuffix = appendSuffix ? '、' : ''; + var koreanSuffix = appendSuffix ? ', ' : ''; + var spaceSuffix = appendSuffix ? ' ' : ''; + switch (type) { + case LIST_STYLE_TYPE.DISC: + return '•' + spaceSuffix; + case LIST_STYLE_TYPE.CIRCLE: + return '◦' + spaceSuffix; + case LIST_STYLE_TYPE.SQUARE: + return '◾' + spaceSuffix; + case LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO: + var string = createCounterStyleFromRange(value, 48, 57, true, defaultSuffix); + return string.length < 4 ? "0" + string : string; + case LIST_STYLE_TYPE.CJK_DECIMAL: + return createCounterStyleFromSymbols(value, '〇一二三四五六七八九', cjkSuffix); + case LIST_STYLE_TYPE.LOWER_ROMAN: + return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, LIST_STYLE_TYPE.DECIMAL, defaultSuffix).toLowerCase(); + case LIST_STYLE_TYPE.UPPER_ROMAN: + return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, LIST_STYLE_TYPE.DECIMAL, defaultSuffix); + case LIST_STYLE_TYPE.LOWER_GREEK: + return createCounterStyleFromRange(value, 945, 969, false, defaultSuffix); + case LIST_STYLE_TYPE.LOWER_ALPHA: + return createCounterStyleFromRange(value, 97, 122, false, defaultSuffix); + case LIST_STYLE_TYPE.UPPER_ALPHA: + return createCounterStyleFromRange(value, 65, 90, false, defaultSuffix); + case LIST_STYLE_TYPE.ARABIC_INDIC: + return createCounterStyleFromRange(value, 1632, 1641, true, defaultSuffix); + case LIST_STYLE_TYPE.ARMENIAN: + case LIST_STYLE_TYPE.UPPER_ARMENIAN: + return createAdditiveCounter(value, 1, 9999, ARMENIAN, LIST_STYLE_TYPE.DECIMAL, defaultSuffix); + case LIST_STYLE_TYPE.LOWER_ARMENIAN: + return createAdditiveCounter(value, 1, 9999, ARMENIAN, LIST_STYLE_TYPE.DECIMAL, defaultSuffix).toLowerCase(); + case LIST_STYLE_TYPE.BENGALI: + return createCounterStyleFromRange(value, 2534, 2543, true, defaultSuffix); + case LIST_STYLE_TYPE.CAMBODIAN: + case LIST_STYLE_TYPE.KHMER: + return createCounterStyleFromRange(value, 6112, 6121, true, defaultSuffix); + case LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH: + return createCounterStyleFromSymbols(value, '子丑寅卯辰巳午未申酉戌亥', cjkSuffix); + case LIST_STYLE_TYPE.CJK_HEAVENLY_STEM: + return createCounterStyleFromSymbols(value, '甲乙丙丁戊己庚辛壬癸', cjkSuffix); + case LIST_STYLE_TYPE.CJK_IDEOGRAPHIC: + case LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL: + return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS); + case LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL: + return createCJKCounter(value, '零壹貳參肆伍陸柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS); + case LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL: + return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS); + case LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL: + return createCJKCounter(value, '零壹贰叁肆伍陆柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS); + case LIST_STYLE_TYPE.JAPANESE_INFORMAL: + return createCJKCounter(value, '〇一二三四五六七八九', '十百千万', JAPANESE_NEGATIVE, cjkSuffix, 0); + case LIST_STYLE_TYPE.JAPANESE_FORMAL: + return createCJKCounter(value, '零壱弐参四伍六七八九', '拾百千万', JAPANESE_NEGATIVE, cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS); + case LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL: + return createCJKCounter(value, '영일이삼사오육칠팔구', '십백천만', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS); + case LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL: + return createCJKCounter(value, '零一二三四五六七八九', '十百千萬', KOREAN_NEGATIVE, koreanSuffix, 0); + case LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL: + return createCJKCounter(value, '零壹貳參四五六七八九', '拾百千', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS); + case LIST_STYLE_TYPE.DEVANAGARI: + return createCounterStyleFromRange(value, 0x966, 0x96f, true, defaultSuffix); + case LIST_STYLE_TYPE.GEORGIAN: + return createAdditiveCounter(value, 1, 19999, GEORGIAN, LIST_STYLE_TYPE.DECIMAL, defaultSuffix); + case LIST_STYLE_TYPE.GUJARATI: + return createCounterStyleFromRange(value, 0xae6, 0xaef, true, defaultSuffix); + case LIST_STYLE_TYPE.GURMUKHI: + return createCounterStyleFromRange(value, 0xa66, 0xa6f, true, defaultSuffix); + case LIST_STYLE_TYPE.HEBREW: + return createAdditiveCounter(value, 1, 10999, HEBREW, LIST_STYLE_TYPE.DECIMAL, defaultSuffix); + case LIST_STYLE_TYPE.HIRAGANA: + return createCounterStyleFromSymbols(value, 'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん'); + case LIST_STYLE_TYPE.HIRAGANA_IROHA: + return createCounterStyleFromSymbols(value, 'いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす'); + case LIST_STYLE_TYPE.KANNADA: + return createCounterStyleFromRange(value, 0xce6, 0xcef, true, defaultSuffix); + case LIST_STYLE_TYPE.KATAKANA: + return createCounterStyleFromSymbols(value, 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン', cjkSuffix); + case LIST_STYLE_TYPE.KATAKANA_IROHA: + return createCounterStyleFromSymbols(value, 'イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス', cjkSuffix); + case LIST_STYLE_TYPE.LAO: + return createCounterStyleFromRange(value, 0xed0, 0xed9, true, defaultSuffix); + case LIST_STYLE_TYPE.MONGOLIAN: + return createCounterStyleFromRange(value, 0x1810, 0x1819, true, defaultSuffix); + case LIST_STYLE_TYPE.MYANMAR: + return createCounterStyleFromRange(value, 0x1040, 0x1049, true, defaultSuffix); + case LIST_STYLE_TYPE.ORIYA: + return createCounterStyleFromRange(value, 0xb66, 0xb6f, true, defaultSuffix); + case LIST_STYLE_TYPE.PERSIAN: + return createCounterStyleFromRange(value, 0x6f0, 0x6f9, true, defaultSuffix); + case LIST_STYLE_TYPE.TAMIL: + return createCounterStyleFromRange(value, 0xbe6, 0xbef, true, defaultSuffix); + case LIST_STYLE_TYPE.TELUGU: + return createCounterStyleFromRange(value, 0xc66, 0xc6f, true, defaultSuffix); + case LIST_STYLE_TYPE.THAI: + return createCounterStyleFromRange(value, 0xe50, 0xe59, true, defaultSuffix); + case LIST_STYLE_TYPE.TIBETAN: + return createCounterStyleFromRange(value, 0xf20, 0xf29, true, defaultSuffix); + case LIST_STYLE_TYPE.DECIMAL: + default: + return createCounterStyleFromRange(value, 48, 57, true, defaultSuffix); + } + }; + + var IGNORE_ATTRIBUTE = 'data-html2canvas-ignore'; + var DocumentCloner = /** @class */ (function () { + function DocumentCloner(element, options) { + this.options = options; + this.scrolledElements = []; + this.referenceElement = element; + this.counters = new CounterState(); + this.quoteDepth = 0; + if (!element.ownerDocument) { + throw new Error('Cloned element does not have an owner document'); + } + this.documentElement = this.cloneNode(element.ownerDocument.documentElement); + } + DocumentCloner.prototype.toIFrame = function (ownerDocument, windowSize) { + var _this = this; + var iframe = createIFrameContainer(ownerDocument, windowSize); + if (!iframe.contentWindow) { + return Promise.reject("Unable to find iframe window"); + } + var scrollX = ownerDocument.defaultView.pageXOffset; + var scrollY = ownerDocument.defaultView.pageYOffset; + var cloneWindow = iframe.contentWindow; + var documentClone = cloneWindow.document; + /* Chrome doesn't detect relative background-images assigned in inline + + + + + + + + + + diff --git a/Vue_sav/Ajaxchangerentiteportail/english.php b/Vue_sav/Ajaxchangerentiteportail/english.php new file mode 100755 index 0000000..c7d3d4e --- /dev/null +++ b/Vue_sav/Ajaxchangerentiteportail/english.php @@ -0,0 +1,32 @@ + + + +
+

+
+ Please review your entity! +
+

+
+ +
+ + +
+ + +
+

+
+ Your subscription has expired +
+

+
+ + +
+ + +
+ + diff --git a/Vue_sav/Ajaxchangerentiteportail/french.php b/Vue_sav/Ajaxchangerentiteportail/french.php new file mode 100755 index 0000000..f4ff924 --- /dev/null +++ b/Vue_sav/Ajaxchangerentiteportail/french.php @@ -0,0 +1,32 @@ + + + +
+

+
+ Veuillez revoir votre entité! +
+

+
+ +
+ + +
+ + +
+

+
+ Votre abonnement a expiré! +
+

+
+ + +
+ + +
+ + diff --git a/Vue_sav/Ajaxchangerentiteportail/index.php b/Vue_sav/Ajaxchangerentiteportail/index.php new file mode 100755 index 0000000..6e59fa0 --- /dev/null +++ b/Vue_sav/Ajaxchangerentiteportail/index.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/Vue_sav/Ajaxchargerlisteprestataires/index.php b/Vue_sav/Ajaxchargerlisteprestataires/index.php new file mode 100755 index 0000000..12b3e49 --- /dev/null +++ b/Vue_sav/Ajaxchargerlisteprestataires/index.php @@ -0,0 +1,12 @@ + + +
    + +
  • ', '')">
  • + +
+ \ No newline at end of file diff --git a/Vue_sav/Ajaxconnexioncookie/english.php b/Vue_sav/Ajaxconnexioncookie/english.php new file mode 100755 index 0000000..92ac3ff --- /dev/null +++ b/Vue_sav/Ajaxconnexioncookie/english.php @@ -0,0 +1,111 @@ + + + + Insured Portal + + +" "): ?> +
+

+
+ +
+

+
+ +
+ +
+ + + +
+ + +
+ + +
+
+ + +
+
+ +
+
+ + +
+
+ +
+ + +
+ +
+ +
+ +
+ + + + \ No newline at end of file diff --git a/Vue_sav/Ajaxconnexioncookie/french.php b/Vue_sav/Ajaxconnexioncookie/french.php new file mode 100755 index 0000000..11f43e3 --- /dev/null +++ b/Vue_sav/Ajaxconnexioncookie/french.php @@ -0,0 +1,112 @@ + + + + + + Portail Assuré + + +" "): ?> +
+

+
+ +
+

+
+ +
+ +
+ + + +
+ + +
+ + +
+
+ + +
+
+ +
+
+ + +
+
+ +
+ + +
+ +
+ +
+
+ + + + diff --git a/Vue_sav/Ajaxconnexioncookie/index.php b/Vue_sav/Ajaxconnexioncookie/index.php new file mode 100755 index 0000000..ff84af1 --- /dev/null +++ b/Vue_sav/Ajaxconnexioncookie/index.php @@ -0,0 +1,35 @@ +
+ + +
+ + + +
+
diff --git a/Vue_sav/Ajaxconsosadherent/index.php b/Vue_sav/Ajaxconsosadherent/index.php new file mode 100755 index 0000000..3a0e392 --- /dev/null +++ b/Vue_sav/Ajaxconsosadherent/index.php @@ -0,0 +1,161 @@ + + + diff --git a/Vue_sav/Ajaxconsosbeneficiaire/index.php b/Vue_sav/Ajaxconsosbeneficiaire/index.php new file mode 100755 index 0000000..3f010a2 --- /dev/null +++ b/Vue_sav/Ajaxconsosbeneficiaire/index.php @@ -0,0 +1,157 @@ + + + diff --git a/Vue_sav/Ajaxconsulteractesgarantiebareme/index.php b/Vue_sav/Ajaxconsulteractesgarantiebareme/index.php new file mode 100755 index 0000000..ff7d62a --- /dev/null +++ b/Vue_sav/Ajaxconsulteractesgarantiebareme/index.php @@ -0,0 +1,111 @@ +nettoyer($garantie['codeGarantie']); + $garantie = $this->nettoyer($garantie['libelle']); + + if (est_anglophone()) + { + $garantie = $this->nettoyer($garantie['libelleEng']); + } + +?> + + +