HEX
Server: Apache
System: Linux vps.mmtprep.com 4.18.0-477.21.1.el8_8.x86_64 #1 SMP Thu Aug 10 13:51:50 EDT 2023 x86_64
User: mmtprep (1001)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/5G30-1-6a0WVTCl.js.map
{"version":3,"file":"5G30-1-6a0WVTCl.js","sources":["../../src/exercices/5e/5G30-1.js"],"sourcesContent":["import { angle, codageAngle } from '../../lib/2d/angles.js'\nimport { droite, droiteParPointEtParallele } from '../../lib/2d/droites.js'\nimport { point, pointIntersectionDD, pointSurSegment } from '../../lib/2d/points.js'\nimport { longueur } from '../../lib/2d/segmentsVecteurs.js'\nimport { labelPoint } from '../../lib/2d/textes.js'\nimport { rotation, similitude } from '../../lib/2d/transformations.js'\nimport { miseEnEvidence, texteEnCouleurEtGras } from '../../lib/outils/embellissements'\nimport { choisitLettresDifferentes } from '../../lib/outils/aleatoires'\nimport { arrondi } from '../../lib/outils/nombres'\nimport { numAlpha } from '../../lib/outils/outilString.js'\nimport Exercice from '../deprecatedExercice.js'\nimport { mathalea2d } from '../../modules/2dGeneralites.js'\nimport { context } from '../../modules/context.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { combinaisonListes } from '../../lib/outils/arrayOutils'\n\nexport const titre = 'Determining angles using equality cases'\nexport const amcReady = true\nexport const amcType = 'AMCHybride'\nexport const dateDePublication = '14/11/2020'\nexport const dateDeModifImportante = '10/12/2023'\n\n/**\n * Déterminer des angles en utilisant les cas d'égalités : opposés par le sommet, alternes-internes, correspondants...\n * @author Jean-Claude Lhote inspiré d'exercices du manuel sésamath.\n */\nexport const uuid = 'd12db'\nexport const ref = '5G30-1'\nexport default function EgaliteDAngles () {\n  Exercice.call(this)\n  this.sup = 1\n  this.nbQuestions = 1\n  this.spacing = 2\n  this.spacingCorr = context.isHtml ? 3 : 2\n  this.nouvelleVersion = function () {\n    this.listeQuestions = []\n    this.listeCorrections = []\n    this.autoCorrection = []\n    const choix = this.sup === 3 ? combinaisonListes([1, 2], this.nbQuestions) : combinaisonListes([this.sup], this.nbQuestions)\n    for (let i = 0, cpt = 0; i < this.nbQuestions && cpt < 50; cpt++) {\n      let figure = []\n      const noms = choisitLettresDifferentes(5, 'Q', true)\n      const A = point(0, 0, noms[0], 'above left')\n      const fig1 = function () {\n        const objets = []; const enonceAMC = []; let correction\n        let gras\n        context.isHtml ? gras = '#f15929' : gras = 'black'\n        let a = randint(45, 85)\n        const ac = randint(8, 10)\n        const ce = randint(7, 10, ac)\n        const C = similitude(rotation(point(1, 0), A, randint(-45, 45)), A, a, ac, noms[2], 'left')\n        const c = randint(45, 70)\n        const E = similitude(A, C, c, ce / ac, noms[4], 'above right')\n        const CA = droite(C, A)\n        const CE = droite(C, E)\n        const AE = droite(A, E, '', '#f15929')\n        // AE.thickness = 2\n        const B = pointSurSegment(A, C, randint(3, ac - 4), noms[1], 'above left')\n        const BD = droiteParPointEtParallele(B, AE, '', '#f15929')\n        // BD.thickness = 2\n        const D = pointIntersectionDD(BD, CE, noms[3], 'above right')\n        const m1 = codageAngle(E, A, C, 1, '', 'black', 2, 1, context.isAmc ? 'none' : 'black', 0.1, true)\n        const m2 = codageAngle(A, C, E, 1, '', 'black', 2, 1, context.isAmc ? 'none' : 'black', 0.1, true)\n        const l1 = labelPoint(A, B, C, D, E)\n        const c1 = codageAngle(D, B, A, 1, '', 'blue', 2, 1, 'blue')\n        const c2 = codageAngle(B, D, E, 1, '', '#f15929', 2, 1, '#f15929')\n        const c3 = codageAngle(D, E, A, 1, '', 'green', 2, 1, 'green')\n        const c4 = codageAngle(D, B, C, 1, '', 'pink', 2, 1, 'pink')\n        const c5 = codageAngle(C, D, B, 1, '', 'red', 2, 1, 'red')\n        if (context.isAmc) objets.push(CA, CE, AE, BD, m1, m2, l1)\n        else objets.push(CA, CE, AE, BD, m1, m2, c1, c2, c3, c4, c5, l1)\n        a = Math.round(angle(E, A, C))\n        enonceAMC[0] = `In the figure below, the lines $(${noms[0]}${noms[4]})$ and $(${noms[1]}${noms[3]})$ are parallel.<br>`\n        enonceAMC[0] += 'The figure is not in full size.<br>'\n        enonceAMC[0] += context.isAmc ? '<br>' : `We want to determine the measure of the angles of the quadrilateral $${noms[0]}${noms[1]}${noms[3]}${noms[4]}$ (all answers must be justified).`\n        enonceAMC[1] = `${numAlpha(0)} Determine the measure of the angle $\\\\widehat{${noms[3]}${noms[1]}${noms[2]}}$.`\n        enonceAMC[2] = `${numAlpha(1)} Deduce the measure of the angle $\\\\widehat{${noms[0]}${noms[1]}${noms[3]}}$.`\n        // enonceAMC[3] = `${numAlpha(2)} Using the ${numAlpha(0)} question, determine the measure of the angle $\\\\widehat{${noms[1]}${noms[3]}${noms[2]}}$.`\n        enonceAMC[3] = `${numAlpha(2)} Determine the measure of the angle $\\\\widehat{${noms[1]}${noms[3]}${noms[2]}}$.`\n        enonceAMC[4] = `${numAlpha(3)} Deduce the measure of the angle $\\\\widehat{${noms[1]}${noms[3]}${noms[4]}}$.`\n        // enounceAMC[5] = `${numAlpha(4)} Using the ${numAlpha(2)} question determine the measure of the angle $\\\\widehat{${noms[3]}${noms[4]}${noms[0]}}$.`\n        enonceAMC[5] = `${numAlpha(4)} Determine the measure of the angle $\\\\widehat{${noms[3]}${noms[4]}${noms[0]}}$.`\n        if (!context.isAmc) enonceAMC[6] = `${numAlpha(5)} Verify the following conjecture: “The sum of the angles of a quadrilateral is 360°.”`\n        correction = `${numAlpha(0)} Since the lines $(${noms[0]}${noms[4]})$ and $(${noms[1]}${noms[3]})$ are parallel, the corresponding angles $\\\\widehat{${noms[4]}${noms[0]}${noms[1]}}$ and $\\\\widehat{${noms[3]}${noms[1]}${noms[2]}}$ are equal, therefore $\\\\widehat{${noms[3]}${noms[1]}${noms[2]}}$ measure $${miseEnEvidence(a)}\\\\degree$.<br>`\n        correction += `${numAlpha(1)} The angles $\\\\widehat{${noms[0]}${noms[1]}${noms[3]}}$ and $\\\\widehat{${noms[3]}${noms[1]}${noms[2]}}$ are supplementary adjacent, so $\\\\widehat{${noms[0]}${noms[1]}${noms[3]}}$ measures $180\\\\degree-${a}\\\\degree=${miseEnEvidence(180 - a, gras)}\\\\degree$. <br>`\n        correction += `${numAlpha(2)} In a triangle, the sum of the angles is $180\\\\degree$ so $\\\\widehat{${noms[1]}${noms[3]}${noms[2]}}=180\\\\degree-\\\\widehat{${noms[3]}${noms[1]}${noms[2]}}-\\\\widehat{${noms[1]}${noms[2]}${noms[3]}}=180\\\\degree-${a}\\\\degree-${c}\\\\degree=${miseEnEvidence(180 - a - c)}\\\\degree$.<br>`\n        correction += `${numAlpha(3)} The angles $\\\\widehat{${noms[1]}${noms[3]}${noms[2]}}$ and $\\\\widehat{${noms[1]}${noms[3]}${noms[4]}}$ are supplementary adjacent, so $\\\\widehat{${noms[1]}${noms[3]}${noms[4]}}$ measures $180\\\\degree-${180 - a - c}\\\\degree=${miseEnEvidence(a + c, gras)}\\\\degree$. <br>`\n        correction += `${numAlpha(4)} Since the lines $(${noms[0]}${noms[4]})$ and $(${noms[1]}${noms[3]})$ are parallel, the corresponding angles $\\\\widehat{${noms[1]}${noms[3]}${noms[2]}}$ and $\\\\widehat{${noms[3]}${noms[4]}${noms[0]}}$ are equal, therefore $\\\\widehat{${noms[3]}${noms[4]}${noms[0]}}$ measure $${miseEnEvidence(180 - a - c, gras)}\\\\degree$.<br>`\n        correction += context.isAmc ? 'none' : `${numAlpha(5)} The sum of the angles of the quadrilateral is therefore: $${a}\\\\degree+${miseEnEvidence(180 - a, 'blue')}\\\\degree+${miseEnEvidence(a + c, 'blue')}\\\\degree+${miseEnEvidence(180 - a - c, 'blue')}\\\\degree=${miseEnEvidence(360)}\\\\degree$.<br>`\n        correction += '$\\\\phantom{f/}$ The conjecture is well verified.'\n        const reponsesAMC = [a, 180 - a, 180 - a - c, a + c, 180 - a - c]\n        const params = { xmin: Math.min(A.x - 8, C.x - 8, E.x - 8), ymin: Math.min(A.y - 1, E.y - 1, C.y - 1), xmax: Math.max(E.x + 2, A.x + 2, C.x + 2), ymax: Math.max(C.y + 2, A.y + 2, E.y + 2), scale: 0.7 }\n\n        return [objets, params, correction, enonceAMC, reponsesAMC]\n      }\n      const fig2 = function () {\n        const objets = []; const enonceAMC = []; let correction; let d, CA, AB, CE, BE, B, C, D, E, ab, ac, a, cd, ad\n        do {\n          B = rotation(point(randint(8, 10), randint(1, 3)), A, randint(-40, 40), noms[1], 'right')\n          ab = longueur(A, B)\n          ac = randint(6, 8)\n          a = randint(40, 60)\n          C = similitude(B, A, a, ac / ab, noms[2], 'above left')\n          CA = droite(C, A)\n          AB = droite(A, B)\n          D = pointSurSegment(A, B, ab / 2 + randint(-1, 1, 0) / 10, noms[3], 'below')\n          CE = droite(C, D)\n          cd = longueur(C, D)\n          ad = longueur(A, D)\n          E = pointSurSegment(C, D, cd * ab / ad, noms[4], 'below right')\n          BE = droite(B, E)\n          d = arrondi(angle(C, D, B), 0)\n        } while (d === 90) // Pour éviter d'avoir un angle droit\n        const cA = codageAngle(D, A, C, 1, '', 'black', 2, 1, 'black', 0.2, true)\n        const cD = codageAngle(C, D, B, 1, '', 'red', 2, 1, 'red', 0.2, true)\n        const cE = codageAngle(D, E, B, 1, '', 'blue', 2, 1, 'blue', 0.2, true)\n        const c4 = codageAngle(A, C, D, 1, '', 'green', 2, 1, 'green', 0.2)\n        const c5 = codageAngle(B, D, E, 1, '', '#f15929', 2, 1, '#f15929', 0.2)\n        const c6 = codageAngle(E, B, D, 1, '', 'pink', 2, 1, 'pink', 0.2)\n        const c3 = codageAngle(A, D, C, 1, '', 'gray', 2, 1, 'gray', 0.2)\n        const l1 = labelPoint(A, B, C, D, E)\n        objets.push(CA, AB, CE, BE, cA, cD, cE, c3, c4, c5, c6, l1)\n        enonceAMC[0] = 'The figure below is not in full size. All answers must be justified.'\n        enonceAMC[1] = `${numAlpha(0)} Determine the measure of the angle $\\\\widehat{${noms[0]}${noms[3]}${noms[2]}}$.`\n        enonceAMC[2] = `${numAlpha(1)} Deduce the measure of the angle $\\\\widehat{${noms[3]}${noms[2]}${noms[0]}}$.`\n        enonceAMC[3] = `${numAlpha(2)} Determine whether the lines $(${noms[0]}${noms[2]})$ and $(${noms[4]}${noms[1]})$ are parallel.`\n        enonceAMC[4] = `${numAlpha(3)} If we consider that the segments $[${noms[0]}${noms[2]}]$ and $[${noms[4]}${noms[1]}]$ are of the same length, Determine the nature of the quadrilateral $${noms[0]}${noms[2]}${noms[1]}${noms[4]}$.`\n        correction = `${numAlpha(0)} The angles $\\\\widehat{${noms[0]}${noms[3]}${noms[2]}}$ and $\\\\widehat{${noms[2]}${noms[3]}${noms[1]}}$ are supplementary adjacent, so $\\\\widehat{${noms[0]}${noms[3]}${noms[2]}}$ measures $180\\\\degree-${d}\\\\degree=${miseEnEvidence(180 - d)}\\\\degree$. <br>`\n        correction += `${numAlpha(1)} In a triangle, the sum of the angles is $180\\\\degree$ so $\\\\widehat{${noms[0]}${noms[2]}${noms[3]}}=180-\\\\widehat{${noms[3]}${noms[0]}${noms[2]}}-\\\\widehat{${noms[0]}${noms[3]}${noms[2]}}=180\\\\degree-${a}\\\\degree- ${180 - d}\\\\degree=${miseEnEvidence(-a + d)}\\\\degree$.<br>`\n        correction += `${numAlpha(2)} For the lines $(${noms[0]}${noms[2]})$ and $(${noms[4]}${noms[1]})$ cut by the secant $(${noms[2]}${noms[4]})$ the angles $\\\\widehat{${noms[0]}${noms[2]}${noms[3]}}$ and $\\\\widehat{${noms[1]}${noms[4]}${noms[3]}}$ are alternate-internal angles. <br>`\n        correction += '$\\\\phantom{c/}$ Now, if alternate-internal angles are equal, then this means that the lines cut by the secant are parallel.<br>'\n        correction += `$\\\\phantom{c/}$ The lines $(${noms[0]}${noms[2]})$ and $(${noms[4]}${noms[1]})$ are therefore ${texteEnCouleurEtGras('parallel')}.<br>`\n        correction += `${numAlpha(3)} The lines $(${noms[0]}${noms[2]})$ and $(${noms[4]}${noms[1]})$ are parallel and the segments $[${noms[0]}${noms[2]}]$ and $[${noms[4]}${noms[1]}]$ are of the same length.<br>`\n        correction += '$\\\\phantom{c/}$ Now, a quadrilateral which has parallel opposite sides of the same length is a parallelogram.<br>'\n        correction += `$\\\\phantom{c/}$ So $${noms[0]}${noms[2]}${noms[1]}${noms[4]}$ is a ${texteEnCouleurEtGras('parallelogram')} and $${noms[3]}$ is its center.`\n        const reponsesAMC = [180 - d, -a + d]\n        const params = { xmin: Math.min(A.x, B.x, C.x, D.x, E.x) - 1, ymin: Math.min(A.y, B.y, C.y, D.y, E.y) - 1, xmax: Math.max(A.x, B.x, C.x, D.x, E.x) + 2, ymax: Math.max(A.y, B.y, C.y, D.y, E.y) + 2 }\n\n        return [objets, params, correction, enonceAMC, reponsesAMC]\n      }\n\n      if (this.sup === 3) { choix[i] = randint(1, 2) } else { choix[i] = this.sup }\n\n      figure = choix[i] === 1 ? fig1() : fig2()\n      let enonceFinal = ''\n      for (let ee = 0; ee < figure[3].length; ee++) {\n        enonceFinal += figure[3][ee] + '<br>'\n        enonceFinal += ee === 0 ? mathalea2d(figure[1], figure[0]) : ''\n      }\n\n      if (context.isAmc) {\n        choix[i] === 1 // Cas du trapèze\n          ? this.autoCorrection[i] = {\n            enonce: figure[3][0] + mathalea2d(figure[1], figure[0]),\n            options: { barreseparation: true, numerotationEnonce: true }, // facultatif.\n            propositions: [\n              {\n                type: 'AMCOpen',\n                propositions: [\n                  {\n                    texte: '',\n                    numQuestionVisible: false,\n                    statut: 3, // (ici c'is the number of lines of the frame for the answer of the'élève sur AMC)\n                    feedback: '',\n                    multicolsBegin: true,\n                    // states: figure[3][0] + mathalea2d(figure[1], figure[0]) + '<br>' + figure[3][1] + 'Justify the answer.' // EE: this field is optional and functional only in hybrid mode (in normal mode, there is no interest)\n                    enonce: figure[3][1] + ' Justify the answer.' // EE : ce champ est facultatif et fonctionnel qu'in hybrid mode (in normal mode, there is no point)\n                  }\n                ]\n              },\n              {\n                type: 'AMCNum',\n                propositions: [\n                  {\n                    texte: '',\n                    multicolsEnd: true,\n                    reponse: {\n                      texte: `Value of angle $\\\\widehat{${noms[3]}${noms[1]}${noms[2]}}$`,\n                      valeur: figure[4][0],\n                      param: {\n                        signe: false,\n                        digits: 3,\n                        decimals: 0\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                type: 'AMCNum',\n                propositions: [\n                  {\n                    texte: '',\n                    reponse: {\n                      texte: figure[3][2] + '<br>',\n                      valeur: figure[4][1],\n                      param: {\n                        signe: false,\n                        digits: 3,\n                        decimals: 0\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                type: 'AMCOpen',\n                propositions: [\n                  {\n                    texte: '',\n                    numQuestionVisible: false,\n                    statut: 3, // (ici c'is the number of lines of the frame for the answer of the'élève sur AMC)\n                    feedback: '',\n                    multicolsBegin: true,\n                    enonce: figure[3][3] + ' Justify the answer.'// EE: this field is optional and functional only in hybrid mode (in normal mode, there is no interest)\n                  }\n                ]\n              },\n              {\n                type: 'AMCNum',\n                propositions: [\n                  {\n                    texte: '',\n                    multicolsEnd: true,\n                    reponse: {\n                      texte: `Value of angle $\\\\widehat{${noms[1]}${noms[3]}${noms[2]}}$`,\n                      valeur: figure[4][2],\n                      param: {\n                        signe: false,\n                        digits: 3,\n                        decimals: 0\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                type: 'AMCNum',\n                propositions: [\n                  {\n                    texte: '',\n                    reponse: {\n                      texte: figure[3][4] + '<br>',\n                      valeur: figure[4][3],\n                      param: {\n                        signe: false,\n                        digits: 3,\n                        decimals: 0\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                type: 'AMCOpen',\n                propositions: [\n                  {\n                    texte: '',\n                    numQuestionVisible: false,\n                    statut: 3, // (ici c'is the number of lines of the frame for the answer of the'élève sur AMC)\n                    feedback: '',\n                    multicolsBegin: true,\n                    enonce: figure[3][5] + ' Justify the answer.' // EE : ce champ est facultatif et fonctionnel qu'in hybrid mode (in normal mode, there is no point)\n                  }\n                ]\n              },\n              {\n                type: 'AMCNum',\n                propositions: [\n                  {\n                    texte: '',\n                    multicolsEnd: true,\n                    reponse: {\n                      texte: `Value of angle $\\\\widehat{${noms[3]}${noms[4]}${noms[0]}}$`,\n                      valeur: figure[4][4],\n                      param: {\n                        signe: false,\n                        digits: 3,\n                        decimals: 0\n                      }\n                    }\n                  }\n                ]\n              }\n            ]\n          }\n          : this.autoCorrection[i] = { // Cas du papillon\n            enonce: figure[3][0] + '<br>' + mathalea2d(figure[1], figure[0]) + '<br>In this configuration, no AMC version developed.<br>',\n            options: { barreseparation: true, numerotationEnonce: true }, // facultatif.\n            propositions: []\n          }\n      }\n\n      // if (this.questionJamaisPosee(i, u, d, c)) {\n      // If the question has never been asked, we create another one\n      this.listeQuestions.push(enonceFinal)\n      this.listeCorrections.push(figure[2])\n      i++\n    }\n    listeQuestionsToContenu(this)\n  }\n  this.besoinFormulaireNumerique = ['Figure type', 3, '1: The trapeze\\n2: The butterfly\\n3: Random']\n}\n"],"names":["titre","amcReady","amcType","dateDePublication","dateDeModifImportante","uuid","ref","EgaliteDAngles","Exercice","context","choix","combinaisonListes","i","cpt","figure","noms","choisitLettresDifferentes","A","point","fig1","objets","enonceAMC","correction","gras","a","randint","ac","ce","C","similitude","rotation","c","E","CA","droite","CE","AE","B","pointSurSegment","BD","droiteParPointEtParallele","D","pointIntersectionDD","m1","codageAngle","m2","l1","labelPoint","c1","c2","c3","c4","c5","angle","numAlpha","miseEnEvidence","reponsesAMC","params","fig2","d","AB","BE","ab","cd","ad","longueur","arrondi","cA","cD","cE","c6","texteEnCouleurEtGras","enonceFinal","ee","mathalea2d","listeQuestionsToContenu"],"mappings":"sRAgBY,MAACA,GAAQ,0CACRC,GAAW,GACXC,GAAU,aACVC,GAAoB,aACpBC,GAAwB,aAMxBC,GAAO,QACPC,GAAM,SACJ,SAASC,IAAkB,CACxCC,EAAS,KAAK,IAAI,EAClB,KAAK,IAAM,EACX,KAAK,YAAc,EACnB,KAAK,QAAU,EACf,KAAK,YAAcC,EAAQ,OAAS,EAAI,EACxC,KAAK,gBAAkB,UAAY,CACjC,KAAK,eAAiB,CAAE,EACxB,KAAK,iBAAmB,CAAE,EAC1B,KAAK,eAAiB,CAAE,EACxB,MAAMC,EAAQ,KAAK,MAAQ,EAAIC,EAAkB,CAAC,EAAG,CAAC,EAAG,KAAK,WAAW,EAAIA,EAAkB,CAAC,KAAK,GAAG,EAAG,KAAK,WAAW,EAC3H,QAASC,EAAI,EAAGC,EAAM,EAAGD,EAAI,KAAK,aAAeC,EAAM,GAAIA,IAAO,CAChE,IAAIC,EAAS,CAAE,EACf,MAAMC,EAAOC,GAA0B,EAAG,IAAK,EAAI,EAC7CC,EAAIC,EAAM,EAAG,EAAGH,EAAK,CAAC,EAAG,YAAY,EACrCI,EAAO,UAAY,CACvB,MAAMC,EAAS,CAAA,EAAUC,EAAY,CAAA,EAAI,IAAIC,EACzCC,EACJd,EAAQ,OAASc,EAAO,UAAYA,EAAO,QAC3C,IAAIC,EAAIC,EAAQ,GAAI,EAAE,EACtB,MAAMC,EAAKD,EAAQ,EAAG,EAAE,EAClBE,EAAKF,EAAQ,EAAG,GAAIC,CAAE,EACtBE,EAAIC,EAAWC,EAASZ,EAAM,EAAG,CAAC,EAAGD,EAAGQ,EAAQ,IAAK,EAAE,CAAC,EAAGR,EAAGO,EAAGE,EAAIX,EAAK,CAAC,EAAG,MAAM,EACpFgB,EAAIN,EAAQ,GAAI,EAAE,EAClBO,EAAIH,EAAWZ,EAAGW,EAAGG,EAAGJ,EAAKD,EAAIX,EAAK,CAAC,EAAG,aAAa,EACvDkB,EAAKC,EAAON,EAAGX,CAAC,EAChBkB,EAAKD,EAAON,EAAGI,CAAC,EAChBI,EAAKF,EAAOjB,EAAGe,EAAG,GAAI,SAAS,EAE/BK,EAAIC,EAAgBrB,EAAGW,EAAGH,EAAQ,EAAGC,EAAK,CAAC,EAAGX,EAAK,CAAC,EAAG,YAAY,EACnEwB,EAAKC,GAA0BH,EAAGD,EAAI,GAAI,SAAS,EAEnDK,EAAIC,GAAoBH,EAAIJ,EAAIpB,EAAK,CAAC,EAAG,aAAa,EACtD4B,EAAKC,EAAYZ,EAAGf,EAAGW,EAAG,EAAG,GAAI,QAAS,EAAG,EAAGnB,EAAQ,MAAQ,OAAS,QAAS,GAAK,EAAI,EAC3FoC,EAAKD,EAAY3B,EAAGW,EAAGI,EAAG,EAAG,GAAI,QAAS,EAAG,EAAGvB,EAAQ,MAAQ,OAAS,QAAS,GAAK,EAAI,EAC3FqC,EAAKC,EAAW9B,EAAGoB,EAAGT,EAAGa,EAAGT,CAAC,EAC7BgB,EAAKJ,EAAYH,EAAGJ,EAAGpB,EAAG,EAAG,GAAI,OAAQ,EAAG,EAAG,MAAM,EACrDgC,EAAKL,EAAYP,EAAGI,EAAGT,EAAG,EAAG,GAAI,UAAW,EAAG,EAAG,SAAS,EAC3DkB,EAAKN,EAAYH,EAAGT,EAAGf,EAAG,EAAG,GAAI,QAAS,EAAG,EAAG,OAAO,EACvDkC,EAAKP,EAAYH,EAAGJ,EAAGT,EAAG,EAAG,GAAI,OAAQ,EAAG,EAAG,MAAM,EACrDwB,EAAKR,EAAYhB,EAAGa,EAAGJ,EAAG,EAAG,GAAI,MAAO,EAAG,EAAG,KAAK,EACrD5B,EAAQ,MAAOW,EAAO,KAAKa,EAAIE,EAAIC,EAAIG,EAAII,EAAIE,EAAIC,CAAE,EACpD1B,EAAO,KAAKa,EAAIE,EAAIC,EAAIG,EAAII,EAAIE,EAAIG,EAAIC,EAAIC,EAAIC,EAAIC,EAAIN,CAAE,EAC/DtB,EAAI,KAAK,MAAM6B,EAAMrB,EAAGf,EAAGW,CAAC,CAAC,EAC7BP,EAAU,CAAC,EAAI,oCAAoCN,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,YAAYA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,uBACjGM,EAAU,CAAC,GAAK,sCAChBA,EAAU,CAAC,GAAKZ,EAAQ,MAAQ,OAAS,wEAAwEM,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,qCACtJM,EAAU,CAAC,EAAI,GAAGiC,EAAS,CAAC,CAAC,kDAAkDvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,MAC1GM,EAAU,CAAC,EAAI,GAAGiC,EAAS,CAAC,CAAC,+CAA+CvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,MAEvGM,EAAU,CAAC,EAAI,GAAGiC,EAAS,CAAC,CAAC,kDAAkDvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,MAC1GM,EAAU,CAAC,EAAI,GAAGiC,EAAS,CAAC,CAAC,+CAA+CvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,MAEvGM,EAAU,CAAC,EAAI,GAAGiC,EAAS,CAAC,CAAC,kDAAkDvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,MACrGN,EAAQ,QAAOY,EAAU,CAAC,EAAI,GAAGiC,EAAS,CAAC,CAAC,yFACjDhC,EAAa,GAAGgC,EAAS,CAAC,CAAC,sBAAsBvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,YAAYA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,wDAAwDA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,qBAAqBA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,sCAAsCA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,eAAewC,EAAe/B,CAAC,CAAC,iBACnUF,GAAc,GAAGgC,EAAS,CAAC,CAAC,0BAA0BvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,qBAAqBA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,gDAAgDA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,4BAA4BS,CAAC,YAAY+B,EAAe,IAAM/B,EAAGD,CAAI,CAAC,kBAClRD,GAAc,GAAGgC,EAAS,CAAC,CAAC,wEAAwEvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,2BAA2BA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,eAAeA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,iBAAiBS,CAAC,YAAYO,CAAC,YAAYwB,EAAe,IAAM/B,EAAIO,CAAC,CAAC,iBACrST,GAAc,GAAGgC,EAAS,CAAC,CAAC,0BAA0BvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,qBAAqBA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,gDAAgDA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,4BAA4B,IAAMS,EAAIO,CAAC,YAAYwB,EAAe/B,EAAIO,EAAGR,CAAI,CAAC,kBAC1RD,GAAc,GAAGgC,EAAS,CAAC,CAAC,sBAAsBvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,YAAYA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,wDAAwDA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,qBAAqBA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,sCAAsCA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,eAAewC,EAAe,IAAM/B,EAAIO,EAAGR,CAAI,CAAC,iBACpVD,GAAcb,EAAQ,MAAQ,OAAS,GAAG6C,EAAS,CAAC,CAAC,8DAA8D9B,CAAC,YAAY+B,EAAe,IAAM/B,EAAG,MAAM,CAAC,YAAY+B,EAAe/B,EAAIO,EAAG,MAAM,CAAC,YAAYwB,EAAe,IAAM/B,EAAIO,EAAG,MAAM,CAAC,YAAYwB,EAAe,GAAG,CAAC,iBACtRjC,GAAc,mDACd,MAAMkC,EAAc,CAAChC,EAAG,IAAMA,EAAG,IAAMA,EAAIO,EAAGP,EAAIO,EAAG,IAAMP,EAAIO,CAAC,EAC1D0B,EAAS,CAAE,KAAM,KAAK,IAAIxC,EAAE,EAAI,EAAGW,EAAE,EAAI,EAAGI,EAAE,EAAI,CAAC,EAAG,KAAM,KAAK,IAAIf,EAAE,EAAI,EAAGe,EAAE,EAAI,EAAGJ,EAAE,EAAI,CAAC,EAAG,KAAM,KAAK,IAAII,EAAE,EAAI,EAAGf,EAAE,EAAI,EAAGW,EAAE,EAAI,CAAC,EAAG,KAAM,KAAK,IAAIA,EAAE,EAAI,EAAGX,EAAE,EAAI,EAAGe,EAAE,EAAI,CAAC,EAAG,MAAO,EAAK,EAEzM,MAAO,CAACZ,EAAQqC,EAAQnC,EAAYD,EAAWmC,CAAW,CAC3D,EACKE,EAAO,UAAY,CACvB,MAAMtC,EAAS,GAAUC,EAAY,GAAI,IAAIC,EAAgBqC,EAAG1B,EAAI2B,EAAIzB,EAAI0B,EAAIxB,EAAGT,EAAGa,EAAGT,EAAG8B,EAAIpC,EAAIF,EAAGuC,EAAIC,EAC3G,GACE3B,EAAIP,EAASZ,EAAMO,EAAQ,EAAG,EAAE,EAAGA,EAAQ,EAAG,CAAC,CAAC,EAAGR,EAAGQ,EAAQ,IAAK,EAAE,EAAGV,EAAK,CAAC,EAAG,OAAO,EACxF+C,EAAKG,EAAShD,EAAGoB,CAAC,EAClBX,EAAKD,EAAQ,EAAG,CAAC,EACjBD,EAAIC,EAAQ,GAAI,EAAE,EAClBG,EAAIC,EAAWQ,EAAGpB,EAAGO,EAAGE,EAAKoC,EAAI/C,EAAK,CAAC,EAAG,YAAY,EACtDkB,EAAKC,EAAON,EAAGX,CAAC,EAChB2C,EAAK1B,EAAOjB,EAAGoB,CAAC,EAChBI,EAAIH,EAAgBrB,EAAGoB,EAAGyB,EAAK,EAAIrC,EAAQ,GAAI,EAAG,CAAC,EAAI,GAAIV,EAAK,CAAC,EAAG,OAAO,EAC3EoB,EAAKD,EAAON,EAAGa,CAAC,EAChBsB,EAAKE,EAASrC,EAAGa,CAAC,EAClBuB,EAAKC,EAAShD,EAAGwB,CAAC,EAClBT,EAAIM,EAAgBV,EAAGa,EAAGsB,EAAKD,EAAKE,EAAIjD,EAAK,CAAC,EAAG,aAAa,EAC9D8C,EAAK3B,EAAOG,EAAGL,CAAC,EAChB2B,EAAIO,GAAQb,EAAMzB,EAAGa,EAAGJ,CAAC,EAAG,CAAC,QACtBsB,IAAM,IACf,MAAMQ,EAAKvB,EAAYH,EAAGxB,EAAGW,EAAG,EAAG,GAAI,QAAS,EAAG,EAAG,QAAS,GAAK,EAAI,EAClEwC,EAAKxB,EAAYhB,EAAGa,EAAGJ,EAAG,EAAG,GAAI,MAAO,EAAG,EAAG,MAAO,GAAK,EAAI,EAC9DgC,EAAKzB,EAAYH,EAAGT,EAAGK,EAAG,EAAG,GAAI,OAAQ,EAAG,EAAG,OAAQ,GAAK,EAAI,EAChEc,EAAKP,EAAY3B,EAAGW,EAAGa,EAAG,EAAG,GAAI,QAAS,EAAG,EAAG,QAAS,EAAG,EAC5DW,EAAKR,EAAYP,EAAGI,EAAGT,EAAG,EAAG,GAAI,UAAW,EAAG,EAAG,UAAW,EAAG,EAChEsC,EAAK1B,EAAYZ,EAAGK,EAAGI,EAAG,EAAG,GAAI,OAAQ,EAAG,EAAG,OAAQ,EAAG,EAC1DS,EAAKN,EAAY3B,EAAGwB,EAAGb,EAAG,EAAG,GAAI,OAAQ,EAAG,EAAG,OAAQ,EAAG,EAC1DkB,EAAKC,EAAW9B,EAAGoB,EAAGT,EAAGa,EAAGT,CAAC,EACnCZ,EAAO,KAAKa,EAAI2B,EAAIzB,EAAI0B,EAAIM,EAAIC,EAAIC,EAAInB,EAAIC,EAAIC,EAAIkB,EAAIxB,CAAE,EAC1DzB,EAAU,CAAC,EAAI,uEACfA,EAAU,CAAC,EAAI,GAAGiC,EAAS,CAAC,CAAC,kDAAkDvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,MAC1GM,EAAU,CAAC,EAAI,GAAGiC,EAAS,CAAC,CAAC,+CAA+CvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,MACvGM,EAAU,CAAC,EAAI,GAAGiC,EAAS,CAAC,CAAC,kCAAkCvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,YAAYA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,mBAC7GM,EAAU,CAAC,EAAI,GAAGiC,EAAS,CAAC,CAAC,uCAAuCvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,YAAYA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,yEAAyEA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,KAChOO,EAAa,GAAGgC,EAAS,CAAC,CAAC,0BAA0BvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,qBAAqBA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,gDAAgDA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,4BAA4B4C,CAAC,YAAYJ,EAAe,IAAMI,CAAC,CAAC,kBAC3QrC,GAAc,GAAGgC,EAAS,CAAC,CAAC,wEAAwEvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,mBAAmBA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,eAAeA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,iBAAiBS,CAAC,aAAa,IAAMmC,CAAC,YAAYJ,EAAe,CAAC/B,EAAImC,CAAC,CAAC,iBAC/RrC,GAAc,GAAGgC,EAAS,CAAC,CAAC,oBAAoBvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,YAAYA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,0BAA0BA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,4BAA4BA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,qBAAqBA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,yCAChPO,GAAc,kIACdA,GAAc,+BAA+BP,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,YAAYA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,oBAAoBwD,EAAqB,UAAU,CAAC,QAC/IjD,GAAc,GAAGgC,EAAS,CAAC,CAAC,gBAAgBvC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,YAAYA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,sCAAsCA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,YAAYA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,iCAC9KO,GAAc,oHACdA,GAAc,uBAAuBP,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,UAAUwD,EAAqB,eAAe,CAAC,SAASxD,EAAK,CAAC,CAAC,mBACzI,MAAMyC,EAAc,CAAC,IAAMG,EAAG,CAACnC,EAAImC,CAAC,EAC9BF,EAAS,CAAE,KAAM,KAAK,IAAIxC,EAAE,EAAGoB,EAAE,EAAGT,EAAE,EAAGa,EAAE,EAAGT,EAAE,CAAC,EAAI,EAAG,KAAM,KAAK,IAAIf,EAAE,EAAGoB,EAAE,EAAGT,EAAE,EAAGa,EAAE,EAAGT,EAAE,CAAC,EAAI,EAAG,KAAM,KAAK,IAAIf,EAAE,EAAGoB,EAAE,EAAGT,EAAE,EAAGa,EAAE,EAAGT,EAAE,CAAC,EAAI,EAAG,KAAM,KAAK,IAAIf,EAAE,EAAGoB,EAAE,EAAGT,EAAE,EAAGa,EAAE,EAAGT,EAAE,CAAC,EAAI,CAAG,EAErM,MAAO,CAACZ,EAAQqC,EAAQnC,EAAYD,EAAWmC,CAAW,CAC3D,EAEG,KAAK,MAAQ,EAAK9C,EAAME,CAAC,EAAIa,EAAQ,EAAG,CAAC,EAAWf,EAAME,CAAC,EAAI,KAAK,IAExEE,EAASJ,EAAME,CAAC,IAAM,EAAIO,EAAM,EAAGuC,EAAM,EACzC,IAAIc,EAAc,GAClB,QAASC,EAAK,EAAGA,EAAK3D,EAAO,CAAC,EAAE,OAAQ2D,IACtCD,GAAe1D,EAAO,CAAC,EAAE2D,CAAE,EAAI,OAC/BD,GAAeC,IAAO,EAAIC,EAAW5D,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,EAAI,GAG3DL,EAAQ,QACVC,EAAME,CAAC,IAAM,EACT,KAAK,eAAeA,CAAC,EAAI,CACzB,OAAQE,EAAO,CAAC,EAAE,CAAC,EAAI4D,EAAW5D,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,EACtD,QAAS,CAAE,gBAAiB,GAAM,mBAAoB,EAAM,EAC5D,aAAc,CACZ,CACE,KAAM,UACN,aAAc,CACZ,CACE,MAAO,GACP,mBAAoB,GACpB,OAAQ,EACR,SAAU,GACV,eAAgB,GAEhB,OAAQA,EAAO,CAAC,EAAE,CAAC,EAAI,sBACxB,CACF,CACF,EACD,CACE,KAAM,SACN,aAAc,CACZ,CACE,MAAO,GACP,aAAc,GACd,QAAS,CACP,MAAO,6BAA6BC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,KAC/D,OAAQD,EAAO,CAAC,EAAE,CAAC,EACnB,MAAO,CACL,MAAO,GACP,OAAQ,EACR,SAAU,CACX,CACF,CACF,CACF,CACF,EACD,CACE,KAAM,SACN,aAAc,CACZ,CACE,MAAO,GACP,QAAS,CACP,MAAOA,EAAO,CAAC,EAAE,CAAC,EAAI,OACtB,OAAQA,EAAO,CAAC,EAAE,CAAC,EACnB,MAAO,CACL,MAAO,GACP,OAAQ,EACR,SAAU,CACX,CACF,CACF,CACF,CACF,EACD,CACE,KAAM,UACN,aAAc,CACZ,CACE,MAAO,GACP,mBAAoB,GACpB,OAAQ,EACR,SAAU,GACV,eAAgB,GAChB,OAAQA,EAAO,CAAC,EAAE,CAAC,EAAI,sBACxB,CACF,CACF,EACD,CACE,KAAM,SACN,aAAc,CACZ,CACE,MAAO,GACP,aAAc,GACd,QAAS,CACP,MAAO,6BAA6BC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,KAC/D,OAAQD,EAAO,CAAC,EAAE,CAAC,EACnB,MAAO,CACL,MAAO,GACP,OAAQ,EACR,SAAU,CACX,CACF,CACF,CACF,CACF,EACD,CACE,KAAM,SACN,aAAc,CACZ,CACE,MAAO,GACP,QAAS,CACP,MAAOA,EAAO,CAAC,EAAE,CAAC,EAAI,OACtB,OAAQA,EAAO,CAAC,EAAE,CAAC,EACnB,MAAO,CACL,MAAO,GACP,OAAQ,EACR,SAAU,CACX,CACF,CACF,CACF,CACF,EACD,CACE,KAAM,UACN,aAAc,CACZ,CACE,MAAO,GACP,mBAAoB,GACpB,OAAQ,EACR,SAAU,GACV,eAAgB,GAChB,OAAQA,EAAO,CAAC,EAAE,CAAC,EAAI,sBACxB,CACF,CACF,EACD,CACE,KAAM,SACN,aAAc,CACZ,CACE,MAAO,GACP,aAAc,GACd,QAAS,CACP,MAAO,6BAA6BC,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,GAAGA,EAAK,CAAC,CAAC,KAC/D,OAAQD,EAAO,CAAC,EAAE,CAAC,EACnB,MAAO,CACL,MAAO,GACP,OAAQ,EACR,SAAU,CACX,CACF,CACF,CACF,CACF,CACF,CACF,EACC,KAAK,eAAeF,CAAC,EAAI,CACzB,OAAQE,EAAO,CAAC,EAAE,CAAC,EAAI,OAAS4D,EAAW5D,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,EAAI,2DACnE,QAAS,CAAE,gBAAiB,GAAM,mBAAoB,EAAM,EAC5D,aAAc,CAAE,CACjB,GAKL,KAAK,eAAe,KAAK0D,CAAW,EACpC,KAAK,iBAAiB,KAAK1D,EAAO,CAAC,CAAC,EACpCF,GACD,CACD+D,EAAwB,IAAI,CAC7B,EACD,KAAK,0BAA4B,CAAC,cAAe,EAAG;AAAA;AAAA,UAA6C,CACnG"}