{"id":5180,"date":"2025-08-04T19:23:59","date_gmt":"2025-08-05T00:23:59","guid":{"rendered":"https:\/\/itishoemath.com\/?p=5180"},"modified":"2025-10-17T10:18:46","modified_gmt":"2025-10-17T15:18:46","slug":"0085-niveaux-pourquoi-la-plupart-des-gens-restent-bloques","status":"publish","type":"post","link":"https:\/\/itishoemath.com\/fr\/0085-niveaux-pourquoi-la-plupart-des-gens-restent-bloques\/","title":{"rendered":"Niveaux : Pourquoi la plupart des gens restent bloqu\u00e9s"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"5180\" class=\"elementor elementor-5180\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-97dd7a3 e-flex e-con-boxed e-con e-parent\" data-id=\"97dd7a3\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ce1c704 elementor-widget elementor-widget-html\" data-id=\"ce1c704\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4>Les niveaux secrets de la croissance humaine dont personne ne parle : Comment vous pouvez les franchir<\/h4>\n\nVous \u00eates-vous d\u00e9j\u00e0 demand\u00e9 pourquoi certaines personnes semblent progresser dans la vie alors que d'autres restent bloqu\u00e9es, quels que soient leurs efforts ? La plupart des programmes d'auto-assistance ne tiennent pas compte de la v\u00e9ritable feuille de route de la croissance psychologique...\nmais que se passerait-il si vous pouviez voir le tableau de jeu et savoir o\u00f9 vous en \u00eates ?\n<br><br>\nDans cette vid\u00e9o, <span>h<\/span>oe_math l\u00e8ve le voile sur les \"niveaux de d\u00e9veloppement humain\" - en d\u00e9composant les mod\u00e8les complexes de la psychologie en un langage simple, sans pr\u00e9jug\u00e9s, et en les illustrant par des exemples concrets. Vous verrez exactement comment les gens \u00e9voluent, pourquoi la plupart d'entre eux n'atteignent jamais les stades sup\u00e9rieurs et comment vos d\u00e9cisions quotidiennes r\u00e9v\u00e8lent votre v\u00e9ritable niveau, que vous en soyez conscient ou non.\n<br><br>\nMais c'est l\u00e0 que les choses deviennent int\u00e9ressantes<!--preview-->:\nTout le monde utilise quotidiennement une pens\u00e9e de niveau inf\u00e9rieur (m\u00eame les personnes dites \u00e9clair\u00e9es), et \"sup\u00e9rieur\" ne signifie pas toujours \"meilleur\". La culture, la perspective et m\u00eame la moralit\u00e9 changent au fur et \u00e0 mesure de l'ascension. Vous voulez savoir pourquoi ? Parce que la plupart des conseils ignorent la dure v\u00e9rit\u00e9 : la plupart des gens ne veulent pas se voir clairement.\n<br><br>\n<span>h<\/span>oe_math fait tapis :\n<br>\n+ Explique comment votre pens\u00e9e se d\u00e9veloppe *vraiment* (avec Piaget, Maslow, etc.)<br>\n+ D\u00e9compose chaque niveau - de la survie pure \u00e0 la ma\u00eetrise de soi - en utilisant des histoires que vous reconna\u00eetrez dans votre propre vie.<br>\n+ r\u00e9v\u00e8le pourquoi la v\u00e9ritable croissance est rare, \u00e0 quoi ressemble la \"m\u00e9taconscience\" et pourquoi les niveaux les plus \u00e9lev\u00e9s se sentent presque surhumains.\n<br><br>\nPr\u00eat \u00e0 arr\u00eater de d\u00e9river et \u00e0 commencer \u00e0 grimper ? Regardez maintenant pour d\u00e9couvrir o\u00f9 vous vous situez *r\u00e9ellement* sur la carte, ce qui vous retient et comment passer \u00e0 l'\u00e9tape suivante.\nAbonnez-vous pour conna\u00eetre les prochaines plong\u00e9es en profondeur sur la maximisation de soi, les illusions et les r\u00e8gles cach\u00e9es qui r\u00e9gissent le comportement humain.\n\nParlons franchement de croissance - pas de blabla, pas d'excuses.\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8858505 elementor-widget elementor-widget-html\" data-id=\"8858505\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p> <\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4860eef elementor-widget elementor-widget-html\" data-id=\"4860eef\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- CSV for video links and summaries -->\n<!-- Header: Not Translated -->\n<script id=\"video-data-header\" type=\"text\/plain\">\ntime|stop|tab|title|description\n<\/script>\n<div id=\"tp-translatable-strings2\"\n     style=\"color:#000101; background:#000101; width:100vw; height:auto; position:static; z-index:1; font-size:1px;\">\n<pre id=\"video-data-rows\">\n0|38|Introduction|Qu'est-ce que les niveaux ? pr\u00e9sente le concept des niveaux de pens\u00e9e, le diagramme utilis\u00e9 pour les illustrer et l'intention de rendre accessibles et compr\u00e9hensibles des mod\u00e8les psychologiques complexes.  \n38|111|D\u00e9veloppement|\u00c9tapes du d\u00e9veloppement|Explique les \u00e9tapes du d\u00e9veloppement psychologique, en se r\u00e9f\u00e9rant \u00e0 des chercheurs comme Jean Piaget et Abraham Maslow, et pr\u00e9sente le concept de quadrants et la fa\u00e7on dont divers facteurs influencent le d\u00e9veloppement personnel.  \n111|194|Conscience|Niveaux de conscience|D\u00e9crit comment la conscience augmente \u00e0 travers les niveaux, comment les gens utilisent quotidiennement les niveaux inf\u00e9rieurs, et la distinction entre la bonne et la mauvaise pens\u00e9e \u00e0 diff\u00e9rents stades.  \n194|346|Perspective|Complexit\u00e9 et perspective|Discute du passage de la pens\u00e9e simple \u00e0 la pens\u00e9e complexe, des pi\u00e8ges potentiels des niveaux sup\u00e9rieurs et de la fa\u00e7on dont les perspectives personnelles et culturelles fa\u00e7onnent la compr\u00e9hension et la moralit\u00e9.  \n346|492|Niveaux|Explication d\u00e9taill\u00e9e des niveaux|D\u00e9crit chaque niveau, de l'instinct de survie \u00e0 l'individualisme avanc\u00e9, \u00e0 l'aide d'exemples concrets et d'analogies soci\u00e9tales pour illustrer la progression et les d\u00e9fis.  \n492|808|Exemples|Exemples pratiques des niveaux|Fournit des sc\u00e9narios hypoth\u00e9tiques et du monde r\u00e9el d\u00e9taill\u00e9s pour montrer comment chaque niveau op\u00e8re dans le comportement, les relations et la prise de d\u00e9cision.  \n808|1041|Moralit\u00e9|Moralit\u00e9 et normes sociales|Explore comment la moralit\u00e9 \u00e9merge \u00e0 diff\u00e9rents niveaux, le r\u00f4le de la conformit\u00e9 et des normes sociales, et l'\u00e9volution vers l'observation objective et la pens\u00e9e globale.  \n1041|1134|Int\u00e9gration|Deuxi\u00e8me niveau et harmonie|D\u00e9crit la transition vers la conscience de \"deuxi\u00e8me niveau\", l'int\u00e9gration de tous les niveaux pr\u00e9c\u00e9dents et l'\u00e9mergence de l'harmonisation et de la pens\u00e9e syst\u00e9mique.  \n1134|1223|Croissance|Reconnaissance et raret\u00e9 des niveaux sup\u00e9rieurs|Souligne que peu de personnes atteignent les niveaux les plus \u00e9lev\u00e9s, la reconnaissance naturelle du d\u00e9veloppement et les capacit\u00e9s uniques de ceux qui y parviennent.  \n1223|1496|M\u00e9ta-conscience|Construction-conscience et m\u00e9ta-observation|Explique les niveaux les plus rares o\u00f9 les individus observent leur propre esprit en \u00e9volution, int\u00e8grent leur histoire personnelle et acqui\u00e8rent un pouvoir significatif pour changer de comportement et de perspective.  \n1496|1573|Conclusion|Comment grandir et r\u00e9fl\u00e9chir|R\u00e9sume l'importance de l'autor\u00e9flexion, fournit un exemple pratique d'introspection et encourage les spectateurs \u00e0 s'engager dans le d\u00e9veloppement personnel en r\u00e9fl\u00e9chissant \u00e0 leurs pens\u00e9es.  \n1573|1615|Outro|Sujets \u00e0 venir et adieu|Mentionne les projets de futures vid\u00e9os plus d\u00e9taill\u00e9es, les sujets \u00e0 venir tels que la maximisation de soi et les illusions, et se termine par un adieu amical.\n\n<\/pre>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d08897e elementor-widget elementor-widget-html\" data-id=\"d08897e\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"tp-translatable-strings5\"\n     style=\"color:#000101; background:#000101; width:100vw; height:auto; position:static; z-index:1; font-size:1px;\">\n<span id=\"hiddenText\">\n0.0 De quoi s'agit-il ? Cette vid\u00e9o traite des niveaux de pens\u00e9e.  \n4.0 C'est th\u00e9orique, mais il y a aussi des blagues color\u00e9es tout au long de la vid\u00e9o.  \n9.0 J'utilise souvent ce diagramme dans mes vid\u00e9os parce qu'il permet d'expliquer certaines choses bizarres que les gens disent et font.  \n13.0 Il est bas\u00e9 sur les travaux de plusieurs chercheurs, mais j'ai essay\u00e9 de le rendre plus facile \u00e0 lire pour un public plus large.  \n21.0 Le mod\u00e8le de conscience que j'ai \u00e9tudi\u00e9 comprend des quadrants, des niveaux, des lignes, des \u00e9tats et des types, mais aujourd'hui, je me concentre sur les niveaux.  \n28.0 Je souhaite r\u00e9aliser une vid\u00e9o longue et d\u00e9taill\u00e9e sur chaque niveau, mais pour l'instant, il s'agit d'une version courte pour commencer.  \n36.0 Avant de commencer, voici quelques l\u00e9gumes mal orthographi\u00e9s, parce qu'apparemment, \u00eatre mignon, \u00e7a aide.  \n40.0 Voici un cactus. Ces niveaux sont donc des \u00e9tapes du d\u00e9veloppement psychologique, \u00e9tudi\u00e9es par de nombreux chercheurs.  \n47.0 Certains mod\u00e8les c\u00e9l\u00e8bres proviennent de Jean Piaget et d'Abraham Maslow, qui ont mis au point la hi\u00e9rarchie des besoins.  \n54.0 Tout le monde na\u00eet au bas de l'\u00e9chelle et presque tout le monde atteint au moins un certain stade \u00e0 l'\u00e2ge adulte.  \n60.0 La fa\u00e7on dont vous vous d\u00e9veloppez d\u00e9pend de votre environnement, de vos choix, de votre culture et du cerveau avec lequel vous \u00eates n\u00e9.  \n66.0 Les quadrants sont des fa\u00e7ons diff\u00e9rentes de voir la r\u00e9alit\u00e9 : votre esprit, votre cerveau, votre culture et votre soci\u00e9t\u00e9.  \n74.0 Tout cela se produit en m\u00eame temps - votre esprit est votre cerveau, la culture est constitu\u00e9e d'un grand nombre d'esprits et la soci\u00e9t\u00e9 est ce que font ces esprits.  \n83.0 On n'est jamais vraiment \"dans\" un niveau ; on d\u00e9veloppe lentement la capacit\u00e9 de penser \u00e0 des niveaux plus \u00e9lev\u00e9s au fur et \u00e0 mesure que l'on acquiert de l'exp\u00e9rience.  \n90.0 Nous utilisons tous les niveaux inf\u00e9rieurs au quotidien - par exemple, lorsque vous devez aller aux toilettes, il s'agit d'un processus de niveau 1.  \n100.0 Certaines personnes parviennent \u00e0 des niveaux plus \u00e9lev\u00e9s, d'autres n'y parviennent jamais. La plupart des gens passent la majeure partie de leur temps dans les quatre niveaux interm\u00e9diaires.  \n108.0 Le premier stade centr\u00e9 sur le monde n'est tr\u00e8s courant que dans les endroits modernis\u00e9s.  \n111.0 A ce stade, vous pouvez adopter une compr\u00e9hension centr\u00e9e sur le monde - voir comment les gens pensent en fonction de leur lieu d'origine.  \n117.0 Avant cela, il n'y a que de \"bonnes\" et de \"mauvaises\" fa\u00e7ons de penser, soit on fait les choses correctement, soit on ne les fait pas.  \n127.0 Apr\u00e8s cela, on se dit plut\u00f4t : \"Peut-\u00eatre que je penserais de cette fa\u00e7on si je venais de l\u00e0.\" C'est l\u00e0 que commence la pens\u00e9e globale.  \n135.0 En parlant de pens\u00e9e globale, voici ma premi\u00e8re vid\u00e9o sponsoris\u00e9e, qui vous est pr\u00e9sent\u00e9e par Atlas VPN.  \n140.0 Atlas VPN vous permet d'acc\u00e9der \u00e0 des choses partout dans le monde ; cela semble ill\u00e9gal, mais \u00e7a ne l'est pas.  \n150.0 Ils proposent une offre pour le Black Friday - $1.70 par mois avec 6 mois suppl\u00e9mentaires gratuits.  \n160,0 Atlas VPN vous rend anonyme, ce qui est tr\u00e8s important pour moi.  \n166,0 Il bloque \u00e9galement les liens malveillants, les publicit\u00e9s, les traqueurs et vous avertit si quelqu'un essaie de voler vos donn\u00e9es.  \n174.0 Vous obtenez de meilleures offres sur le shopping, vous pouvez couvrir un nombre illimit\u00e9 d'appareils et vous cacher des Illuminati.  \n184.0 Prot\u00e9gez votre vie priv\u00e9e pour un prix ridiculement bas - lien dans la description, offre limit\u00e9e dans le temps.  \n194.0 Revenons maintenant aux niveaux de pens\u00e9e - ce qu'ils sont, comment ils fonctionnent et comment passer des stades inf\u00e9rieurs.  \n201.0 Plus haut ne signifie pas toujours mieux ; cela signifie simplement plus conscient, pas une meilleure personne.  \n218.0 Le niveau inf\u00e9rieur de la conscience consiste simplement \u00e0 voir les choses ; plus on monte, plus la conscience devient complexe.  \n230,0 Lorsque je fais des erreurs, je sais g\u00e9n\u00e9ralement pourquoi elles se produisent parce que je peux voir ce qui se passe dans mon esprit.  \n246,0 Parfois, je choisis des femmes qui ne resteront probablement pas parce que je ne pense pas pouvoir les soutenir, et cela ne me fait pas plaisir.  \n259,0 J'essaie de changer les choses, mais parfois cela devient flou et je finis par r\u00e9p\u00e9ter les m\u00eames exp\u00e9riences.  \n276.0 La capacit\u00e9 de voir \u00e0 travers son esprit et la complexit\u00e9 du monde n'est pas une question d'\u00eatre bon, c'est une question de l'obtenir.  \n286.0 Monter de niveau ne vous rend pas toujours plus efficace ; par exemple, un niveau est r\u00e9put\u00e9 pour transformer les gens en hippies.  \n295.0 \u00c0 ce moment-l\u00e0, on se rend compte que chacun a sa propre fa\u00e7on de voir les choses - qui peut dire ce qui est bien ou mal ?  \n304.0 Par exemple, quelqu'un peut rechercher la validation d'une personne qui ne l'int\u00e9resse pas, planifier comment en obtenir davantage, puis se demander si c'est bien.  \n324.0 La progression est la suivante : vouloir quelque chose, savoir comment l'obtenir, contr\u00f4ler l'interaction, savoir si c'est bien ou mal, puis devenir l'auteur de son propre sens du bien et du mal.  \n340.0 Au niveau \"hippie\", c'est du genre : \"Qui est l\u00e0 pour juger mes choix ? Mes choix sont bons pour moi.\"  \n351.0 C'est pourquoi on appelle ce niveau l'individualiste.  \n357.0 Lorsque je suis pass\u00e9 par ce niveau, cela m'a stress\u00e9 parce que je voyais tellement de philosophies et de modes de vie diff\u00e9rents que je ne savais pas comment en choisir un.  \n382.0 \u00c0 ce niveau, on se rend compte qu'on ne saura jamais ce qui se passe tant qu'on n'a pas essay\u00e9 - on voit donc ce qui marche pour soi, pour nous, et on remarque que les autres ont des choses diff\u00e9rentes qui marchent pour eux.  \n394.0 C'est le niveau 5 : comprendre que \"je suis comme ceci parce que je viens d'ici, tu es comme cela parce que tu viens de l\u00e0\".  \n400.0 Au niveau six, vous r\u00e9alisez que \"d'o\u00f9 je viens\" n'est en fait que moi-m\u00eame - chacun n'est que son propre moi.  \n410.0 Comment un individu peut-il avoir une id\u00e9e meilleure qu'un autre ?  \n420.0 Plus c'est \u00e9lev\u00e9, plus c'est complexe, mais complexe n'est pas toujours bon ; on peut avoir une tr\u00e8s bonne chaussure ou une tr\u00e8s mauvaise voiture.  \n433.0 Si ce qui est plus \u00e9lev\u00e9 n'est pas toujours meilleur, pourquoi devrions-nous grandir ? Parce que plus c'est haut, mieux c'est - notre monde complexe exige une pens\u00e9e complexe.  \n449.0 Certains probl\u00e8mes ne peuvent \u00eatre r\u00e9solus au niveau o\u00f9 ils ont \u00e9t\u00e9 cr\u00e9\u00e9s.  \n455.0 Chacun a une \"empreinte digitale\" de d\u00e9veloppement diff\u00e9rente - nos lignes ou capacit\u00e9s sont toutes d\u00e9velopp\u00e9es \u00e0 des niveaux diff\u00e9rents.  \n466.0 Par exemple, vous pouvez avoir un niveau cognitif tr\u00e8s \u00e9lev\u00e9 mais un niveau moral faible, ou vice versa.  \n478.0 Quelqu'un peut comprendre l'histoire et la politique mais avoir peu d'empathie, ou \u00eatre tr\u00e8s dou\u00e9 avec les gens mais ne pas avoir une vue d'ensemble.  \n488.0 Pendant que je passe en revue les niveaux, essayez de vous rappeler o\u00f9 vous les avez pass\u00e9s et ce que vous avez ressenti.  \n492.0 Le premier niveau est celui de la \" survie \", c'est-\u00e0-dire des besoins de base, comme la nourriture et le sommeil.  \n503.0 Si nous vivions \u00e0 ce niveau, nous serions en petits groupes de survie, ne pensant pas beaucoup aux pens\u00e9es des autres.  \n513.0 Le niveau 2 est celui de la \"connexion\" - vous pouvez maintenant penser \u00e0 ce qui se passe dans l'esprit de quelqu'un d'autre et \u00e0 ce qu'il veut ou ce dont il a besoin.  \n521.0 Les primitifs de ce niveau peuvent danser la pluie ou jeter des vierges dans un volcan, pensant que cela affecte le monde.  \n534.0 Le niveau 2 concerne la fa\u00e7on dont ce que je fais affecte ce que les autres pensent de moi et ce qu'ils font pour moi.  \n553.0 \u00c0 ce niveau, nous nous concentrons sur la s\u00fbret\u00e9, la s\u00e9curit\u00e9 et le maintien d'habitudes fiables dans de petits groupes tribaux.  \n562.0 Le troisi\u00e8me niveau est celui du \"contr\u00f4le\", encore tr\u00e8s populaire dans la soci\u00e9t\u00e9 moderne.  \n572.0 Au niveau 1, j'ai mes propres besoins ; au niveau 2, je sais que les autres ont des besoins ; au niveau 3, je sais que les autres sont conscients des besoins des autres.  \n599.0 Cela cr\u00e9e des situations sociales - pensez \u00e0 la mafia, aux \u00e9quipes sportives, aux pompiers, \u00e0 la police, \u00e0 l'arm\u00e9e, etc.  \n634.0 Les niveaux deux et trois impliquent de penser \u00e0 penser, mais surtout pour obtenir ce que l'on veut et avoir du pouvoir sur les autres.  \n643.0 Le quatri\u00e8me niveau est celui de l'\"appartenance\" - la motivation premi\u00e8re est de s'int\u00e9grer, motiv\u00e9e par la perspective de la deuxi\u00e8me personne.  \n651.0 Au niveau 1, vous avez vos propres besoins ; au niveau 2, vous voyez les besoins des autres ; au niveau 3, vous comprenez le r\u00e9seau social ; au niveau 4, vous r\u00e9alisez que chacun est dans sa propre situation.  \n677.0 C'est \u00e0 ce niveau que l'on trouve la sagesse de \"ne pas juger quelqu'un avant d'avoir march\u00e9 un kilom\u00e8tre \u00e0 sa place\".  \n694.0 Lorsque le niveau 4 \u00e9tait nouveau, il s'agissait essentiellement d'empires m\u00e9di\u00e9vaux ou d'\u00c9tats-nations - de grands groupes vivant selon des r\u00e8gles communes.  \n708.0 Le niveau 4 se concentre sur le bien contre le mal et la conformit\u00e9 aux normes sociales.  \n726.0 La perspective \u00e0 la deuxi\u00e8me personne appara\u00eet chez les enfants lorsqu'ils commencent \u00e0 se regarder dans le miroir et qu'ils r\u00e9alisent que les autres les voient aussi.  \n738.0 Le niveau quatre est le d\u00e9but de ce que nous appelons traditionnellement la moralit\u00e9.  \n744.0 Par exemple, une personne voit \"homme mauvais\" sur son t\u00e9l\u00e9phone, le projette sur son petit ami et d\u00e9cide de rompre parce qu'elle a l'impression que c'est vrai.  \n764.0 \u00c0 ce niveau, on peut prendre du recul, se regarder comme une deuxi\u00e8me personne et se demander si l'on fait ce qu'il faut.  \n773.0 C'est le premier point o\u00f9 la conscience devient manifestement importante - beaucoup de gens r\u00e9agissent simplement \u00e0 ce qu'ils voient sur leur t\u00e9l\u00e9phone ou \u00e0 la t\u00e9l\u00e9vision.  \n803.0 Le niveau quatre fonctionne typiquement par la conformit\u00e9 et l'accord - se mettre d'accord sur ce qui est bien et mal, cr\u00e9er et suivre des r\u00e8gles.  \n814.0 Cela peut r\u00e9soudre certains probl\u00e8mes, mais il y a une infinit\u00e9 de fa\u00e7ons de d\u00e9cider ce qui est bien ou mal.  \n826.0 Le niveau cinq introduit l'observation objective en tant que valeur - d\u00e9terminons quel ensemble de r\u00e8gles est le meilleur en adoptant le point de vue d'une troisi\u00e8me personne.  \n842.0 Les trois premiers niveaux me concernent ; le niveau quatre est \"si j'\u00e9tais une autre personne dans ma culture, comment verrais-je mon comportement ?\" Le niveau 5 est \"si j'\u00e9tais un extraterrestre, comment verrais-je ma culture ?\"  \n861.0 C'est la premi\u00e8re fois que vous pouvez dire : \"Je comprends pourquoi ils sont comme \u00e7a - ils viennent d'ailleurs\".  \n869.0 Le niveau cinq n'existe que depuis quelques centaines d'ann\u00e9es ; c'est l\u00e0 que nous obtenons la science et les commodit\u00e9s modernes.  \n878.0 Le niveau six est celui o\u00f9 les choses deviennent amusantes. Le niveau cinq concerne l'observation objective, mais le niveau six reconna\u00eet le r\u00f4le de la personne qui per\u00e7oit.  \n890.0 Un percepteur diff\u00e9rent \u00e9quivaut \u00e0 une perception diff\u00e9rente, ce qui introduit la perspective de la quatri\u00e8me personne.  \n894.0 Au niveau 1, vous avez vos besoins ; aux niveaux sup\u00e9rieurs, vous prenez de plus en plus de recul, vous voyez le contexte et l'influence de l'observateur.  \n919.0 La fa\u00e7on dont vous regardez d\u00e9termine ce que vous voyez - il existe de multiples perspectives valables.  \n960.0 Chacun a une r\u00e9alit\u00e9 unique, personnelle et subjective qui n'est pas observable par les autres.  \n974.0 Le niveau six est un bon exemple de la raison pour laquelle un d\u00e9veloppement plus \u00e9lev\u00e9 n'est pas toujours meilleur - c'est un haut degr\u00e9 de d\u00e9veloppement moral, mais il peut d\u00e9railler.  \n985.0 Par exemple, si quelqu'un fait quelque chose de mal selon les normes de votre culture mais dit : \" C'est comme \u00e7a qu'on fait chez moi \", le niveau six pourrait dire : \" Qui \u00eates-vous pour juger ? \"  \n1012.0 Cela peut conduire \u00e0 l'id\u00e9e que n'importe qui peut faire ce qu'il veut et que nous n'avons pas \u00e0 juger.  \n1025.0 C'est pourquoi nous avons certains des probl\u00e8mes que nous voyons aujourd'hui - certaines personnes font ce qu'elles veulent, et les lois ne font pas de distinction.  \n1039.0 \u00c0 ce stade, il y a une rupture dans le tableau - nous passons \u00e0 la conscience de \"deuxi\u00e8me niveau\".  \n1046.0 Le niveau sept est le premier niveau qui peut comprendre et inclure tous les niveaux pr\u00e9c\u00e9dents.  \n1055.0 Au niveau quatre, une \u00e9glise chr\u00e9tienne et une mosqu\u00e9e musulmane peuvent se disputer pour savoir qui d\u00e9tient la v\u00e9rit\u00e9 ; au niveau six, tout le monde peut s'entendre gr\u00e2ce \u00e0 une meilleure compr\u00e9hension.  \n1077.0 Au niveau sept, vous comprenez comment donner \u00e0 chaque niveau pr\u00e9c\u00e9dent ce qu'il veut, afin que tout le monde puisse vivre en harmonie.  \n1086.0 La perspective \u00e0 la quatri\u00e8me personne s'\u00e9largit au fil du temps, cr\u00e9ant une conscience du soi comme une histoire d'exp\u00e9riences.  \n1101.0 Au niveau sept, vous r\u00e9alisez que le point de vue unique de chacun s'est d\u00e9velopp\u00e9 au fil du temps et que tous les autres se d\u00e9veloppent \u00e9galement.  \n1116.0 Au niveau six, tout le monde est \u00e0 sa place partout ; au niveau sept, les gens sont \u00e0 leur place l\u00e0 o\u00f9 ils sont le plus \u00e0 l'aise.  \n1126.0 Si un comportement n'a pas sa place ici, il doit aller l\u00e0 o\u00f9 il a sa place ; si c'est le cas, nous pouvons tous en tirer quelque chose de nouveau.  \n1134.0 J'appelle le niveau sept \"harmoniser\" - il ne s'agit pas d'une inclusion radicale, mais de reconna\u00eetre les syst\u00e8mes interd\u00e9pendants et la fa\u00e7on dont ils fonctionnent ensemble ou s'opposent.  \n1153.0 Les personnes au niveau sept ont tendance \u00e0 reconna\u00eetre naturellement le d\u00e9veloppement, m\u00eame sans avoir \u00e9tudi\u00e9 ce tableau.  \n1161.0 Mon client de coaching de vie a d\u00e9crit son d\u00e9veloppement \u00e0 travers les niveaux comme sa r\u00e9ponse \u00e0 une question.  \n1181.0 Il n'y a pas encore une grande collection de personnes au niveau sept, bien que vous puissiez en trouver dans des endroits comme San Francisco, New York et l'Alabama.  \n1194.0 J'essaie de construire une communaut\u00e9 de personnes \u00e0 ce niveau pour travailler sur les choses \u00e0 partir de cette perspective plus \u00e9lev\u00e9e.  \n1201.0 Je ne suis pas s\u00fbr que les chiffres soient exacts, mais j'aime rencontrer des personnes de ce niveau parce qu'elles peuvent \u00e9quilibrer et mettre en synergie les choses de fa\u00e7on naturelle.  \n1217.0 Plus les niveaux sont \u00e9lev\u00e9s, plus ils sont difficiles \u00e0 expliquer - le niveau huit est assez rare, et m\u00eame ceux qui l'atteignent n'y passent pas beaucoup de temps.  \n1230.0 Le niveau huit appara\u00eet lorsque l'on prend un peu de recul et que l'on se voit changer au fil du temps, d'instant en instant.  \n1247.0 Au niveau huit, vous \u00eates conscient que votre propre esprit se construit au fur et \u00e0 mesure.  \n1261.0 Par exemple, en regardant un beignet, vous pouvez ressentir la faim, la culpabilit\u00e9 d'une exp\u00e9rience pass\u00e9e, la honte sociale, et vous souvenir d'un mal de ventre - tout cela influen\u00e7ant votre d\u00e9sir actuel.  \n1285.0 Une fois que vous \u00eates conscient de tout cela, vous pouvez d\u00e9cider de l'\u00e9couter ou non.  \n1296.0 Cela peut para\u00eetre idiot dans le cas des beignets, mais imaginez cela dans le cas de la politique mondiale ou des relations humaines : \u00eatre conscient de ses sentiments et de leur origine permet de mieux choisir ses actions.  \n1330.0 Cela vous donne beaucoup plus de pouvoir pour changer votre comportement dans des situations comme celle-ci.  \n1341.0 Imaginez qu'un plus grand nombre de personnes puissent voir leurs r\u00e9actions et savoir d'o\u00f9 elles viennent, au lieu de r\u00e9agir sur le moment.  \n1349.0 C'est pourquoi il faut penser \u00e0 penser !  \n1351.0 Le niveau neuf est tr\u00e8s difficile \u00e0 d\u00e9crire ; je crois que j'y passe un certain temps.  \n1359.0 \u00c0 ce niveau, j'ai l'impression de ne faire que regarder et souhaiter, et c'est tout ce que j'ai toujours fait.  \n1366.0 Dans les trois premiers niveaux, vous \u00eates le personnage principal ; au niveau quatre, chacun est son propre personnage principal ; au niveau huit, vous ne faites que regarder le spectacle se d\u00e9rouler.  \n1386.0 Vous ne vous identifiez m\u00eame plus au spectacle, vous vous regardez simplement \u00eatre.  \n1410.0 Vous vous regardez \u00e9merger au fil du temps, interagir avec le moment pr\u00e9sent, conna\u00eetre votre histoire et ce qu'elle a fait de vous.  \n1424.0 Vous vous regardez en train de regarder cela, et la fa\u00e7on dont vous regardez est ce qui est important \u00e0 ce niveau.  \n1440.0 Vous pouvez avoir besoin de regarder une autre partie de vous-m\u00eame ou une autre fonction dans votre vie, en fonction de la situation.  \n1450.0 C'est comme si ce que vous regardez se regardait lui-m\u00eame, et \u00e0 chaque niveau, vous regardez quelque chose de diff\u00e9rent - vos besoins, les r\u00e9actions des autres, votre situation, vos attentes, la r\u00e9alit\u00e9, vos origines, vos habitudes, etc.  \n1496.0 Si cela a un sens, c'est ce tableau et comment il fonctionne - la partie des niveaux, en tout cas.  \n1505.0 Si vous voulez monter les niveaux, la meilleure fa\u00e7on est de vous asseoir avec vos pens\u00e9es et de comprendre d'o\u00f9 elles viennent.  \n1515.0 Par exemple, il m'arrive de craindre que mes dessins griffonn\u00e9s soient g\u00eanants \u00e0 montrer \u00e0 200 000 personnes.  \n1524.0 Pourquoi suis-je g\u00ean\u00e9 ? J'ai peut-\u00eatre peur que cela ait un impact n\u00e9gatif, par exemple que les gens n'aiment pas ma cha\u00eene.  \n1543.0 Mais si je n'ai aucune preuve que cela se produira, qu'y a-t-il de mal \u00e0 cela ? Le probl\u00e8me est r\u00e9solu - je peux le faire pour l'instant, et c'est pourquoi j'ai appel\u00e9 ce niveau \"complet\".  \n1573.0 J'esp\u00e8re que vous avez appr\u00e9ci\u00e9 cette pr\u00e9sentation des niveaux. J'en ferai une autre, beaucoup plus longue, \u00e0 un moment donn\u00e9, mais je la rendrai amusante.  \n1582.0 La vid\u00e9o est termin\u00e9e - vous pouvez la fermer si vous voulez, je vais juste divaguer pendant une minute.  \n1594.0 Je vais faire une vid\u00e9o sur la maximisation de soi - comment faire de vous le meilleur partenaire possible pour que les gens veuillent vous garder.  \n1602.0 Je parlerai \u00e9galement des illusions d\u00e9taill\u00e9es - diviser les gens en groupes et discuter des illusions g\u00e9n\u00e9rales qu'ils ont sur eux-m\u00eames et sur le march\u00e9 des rencontres.  \n1613.0 Je couvrirai la zone \"pas les gens\" et je me disputerai bient\u00f4t avec Mac et Murphy.\n<\/span>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eddabf7 elementor-widget elementor-widget-html\" data-id=\"eddabf7\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\n\/\/ 1. Define which video to play for each language:\nconst videoMap = {\n    en: { type: \"youtube\", id: \"kse87ocS0Uo\" },\n  es: { type: \"youtube\", id: \"f3oU40S9-JY\" }, \n  fr: { type: \"youtube\", id: \"jj0_CZ5xHsY\" },\n  ja: { type: \"youtube\", id: \"xIb022f-Ygg\" },\n  pt: { type: \"youtube\", id: \"uB_6W3X5Qi8\" } \n};\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a010ab1 e-flex e-con-boxed e-con e-parent\" data-id=\"a010ab1\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4c437ca elementor-widget elementor-widget-template\" data-id=\"4c437ca\" data-element_type=\"widget\" data-widget_type=\"template.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-template\">\n\t\t\t\t\t<div data-elementor-type=\"section\" data-elementor-id=\"3172\" class=\"elementor elementor-3172\" data-elementor-post-type=\"elementor_library\">\n\t\t\t<div class=\"elementor-element elementor-element-7079b43 e-flex e-con-boxed e-con e-parent\" data-id=\"7079b43\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-800d60f elementor-widget elementor-widget-html\" data-id=\"800d60f\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n#simplified-transcript-note {\n  display: none !important;\n}\n<\/style>\n<div id=\"simplified-transcript-note\">Les traductions et la transcription simplifi\u00e9e sont bas\u00e9es sur les traductions du mat\u00e9riel original, localis\u00e9 en plusieurs langues. R\u00e9alis\u00e9 par PeakCreatorRoyalty.com sous licence de <span>h<\/span>oe_math.<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3a02ec9 elementor-widget elementor-widget-html\" data-id=\"3a02ec9\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\n  \/\/ Auto-hide translation block after page load\n  window.addEventListener('DOMContentLoaded', function() {\n    for (let i = 1; i <= 5; i++) {\n      document.querySelectorAll(`[id$=\"${i}\"]`).forEach(el => {\n        el.style.display = 'none';\n      });\n    }\n  });\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f2f7b1d elementor-widget elementor-widget-html\" data-id=\"f2f7b1d\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n  h3 {\n    margin-left: 0px; \/* Adjust as needed *\/\n    \/* Optionally add: *\/\n    text-align: left;  \n  }\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e3ade12 elementor-widget elementor-widget-html\" data-id=\"e3ade12\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- VIDEO PLAYER CONTAINER -->\n<div id=\"videoPlayerContainer\" style=\"max-width: 800px; margin: auto; text-align: center;\">\n  <!-- Video player is injected here -->\n<\/div>\n\n<!-- SCROLLING TABS & CHAPTER DETAILS -->\n<div style=\"max-width: 1000px; margin: 32px auto 0 auto;\">\n  <div id=\"chapterTabs\" class=\"chapter-tabs-scroll\">\n    <!-- Tabs will be generated by JavaScript -->\n  <\/div>\n  <!-- div id=\"chapterPlayPause\" style=\"margin:1em 0 0.5em 0;\">\n  <\/div -->\n  <div id=\"chapterPanel\" class=\"chapter-panel\">\n    <!-- Chapter text will appear here  -->\n  <\/div>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-928f586 elementor-widget elementor-widget-html\" data-id=\"928f586\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- NO TOUCH Scripts -->\n<!-- Video script v1.0 -->\n<!--[wpcode id=\"1824\"] -->\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/hls.js@latest\"><\/script> <!-- Include HLS.js -->\r\n\r\n<style>\r\n  .half-br {\r\n    display: block;\r\n    height: 1px;\r\n    width: 100%;\r\n    border: none;\r\n    margin: 0;\r\n    padding: 0;\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n\r\nlet currentChapterIdx = 0;\r\n\t\r\nfunction getCurrentLang() {\r\n  return document.documentElement.lang ? document.documentElement.lang.substring(0,2) : 'en';\r\n}\r\n\r\n\/\/ function waitTranslate(ms=1000) {\r\n\/\/   const end = Date.now() + ms; \/\/ 100 milliseconds = 1\/10 second\r\n\/\/   while (Date.now() < end) {\r\n\/\/     \/\/ Busy-wait: blocks the main thread!\r\n\/\/   }\r\n\/\/ }\r\n\r\n\/\/ const lang = getCurrentLang();\r\n\/\/ if (lang !== \"en\") {\r\n\/\/   var marker = document.getElementById('language-marker');\r\n\/\/   if (marker) {\r\n\/\/     \/\/ You can check for known translations of the phrase\r\n\/\/     var currentLangPhrase = marker.textContent.trim();\r\n\/\/ \r\n\/\/     \/\/ Example for English vs French\r\n\/\/     if (currentLangPhrase === \"Currently English language.\") {\r\n\/\/       console.log(\"Miss, translation in progress to '\/\"+lang+\"\/', 3 second delay.\")\r\n\/\/       waitTranslate(ms=3000);\r\n\/\/     } else {\r\n\/\/       console.log(\"Hit, pre-translated page in '\/\"+lang+\"\/'.\")\r\n\/\/     }\r\n\/\/   }\r\n\/\/ } else {\r\n\/\/   console.log(\"English, no translation needed.\")\r\n\/\/ }\r\n\r\n\/* ====== CONFIGURATION SECTION ====== *\/\r\n\/\/ const BUNNY_VIDEO_LIBRARY_ID = \"vz-c02c9ec9-42b.b-cdn.net\"; \/\/ Replace with your actual Bunny Video Library ID\r\nconst BUNNY_VIDEO_LIBRARY_ID = \"vz-d8eb6cfe-1f7.b-cdn.net\"; \/\/ Replace with your actual Bunny Video Library ID\r\n\r\n\/\/ 1. Define which video to play for each language:\r\n\/\/const videoMap = {\r\n\/\/  en: { type: \"youtube\", id: \"wWrsW76bG88\" },\r\n\/\/  fr: { type: \"bunny\", id: \"fc57904c-7f56-4b36-8d13-d1d715b82e81\" }, \/\/ This is the VIDEO ID\r\n\/\/  de: { type: \"bunny\", id: \"YOUR_GERMAN_VIDEO_ID\" }                   \/\/ This is the VIDEO ID\r\n  \/\/ Add more: es, it, etc.\r\n\/\/};\r\n\r\n\/\/ 2. Define chapters for each language:\r\nfunction parseCSVFromHeaderRows(headerText, rowsText) {\r\n  const headers = headerText.trim().split('|').map(h => h.trim());\r\n  const lines = rowsText.trim().split('\\n').filter(line => line.trim().length);\r\n\r\n  return lines.map(line => {\r\n    const values = [];\r\n    \/\/ Split by |, but don't split inside quotes (simple version assumes no | inside quotes)\r\n    \/\/ If you need to handle | inside quoted fields, regex needs to be more complex\r\n    let regex = \/(\"(?:[^\"]|\"\")*\"|'(?:[^']|'')*'|[^|]+)\/g;\r\n    let match;\r\n    while ((match = regex.exec(line))) {\r\n      let value = match[0].trim();\r\n      \/\/ Remove leading and trailing single or double quotes\r\n      value = value.replace(\/^(['\"])(.*)\\1$\/, '$2');\r\n      values.push(isNaN(value) ? value : Number(value));\r\n    }\r\n    const obj = {};\r\n    headers.forEach((h, i) => { obj[h] = values[i]; });\r\n    return obj;\r\n  });\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\/\/ Parse hiddenText into [{time: number, text: string}]\r\n\/\/ Parses lines like: 12.0 Text, or * Bullet point, or 1. Numbered item\r\nfunction parseHiddenText() {\r\n  const hiddenText = document.getElementById('hiddenText')?.textContent || '';\r\n  const lines = hiddenText.split('\\n').map(line => line.trim()).filter(Boolean);\r\n  const results = [];\r\n  let lastTime = null;\r\n\r\n  for (let line of lines) {\r\n    \/\/ Match timestamps with comma or dot\r\n    let match = \/^(\\d+(?:[.,]\\d+)?)\\s+(.*)$\/.exec(line);\r\n    if (match) {\r\n      lastTime = parseFloat(match[1].replace(',', '.'));\r\n      results.push({ time: lastTime, text: match[2] });\r\n      continue;\r\n    }\r\n    \/\/ Match bullets or numbers\r\n    match = \/^(\\*|\\-|\\d+\\.)\\s+(.*)$\/.exec(line);\r\n    if (match && lastTime !== null) {\r\n      results.push({ time: lastTime, text: line });\r\n      continue;\r\n    }\r\n    if (lastTime !== null) {\r\n      results.push({ time: lastTime, text: line });\r\n    }\r\n  }\r\n  return results;\r\n}\r\n\r\n\r\n\r\n\r\nconst hiddenTextLines = parseHiddenText(); \/\/ Global for later use\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\/\/ Get the header and rows from the DOM\r\nconst csvHeader = document.getElementById('video-data-header').textContent;\r\nconst csvRows = document.getElementById('video-data-rows').textContent;\r\n\r\nconst chapterMap = {\r\n  en: parseCSVFromHeaderRows(csvHeader, csvRows)\r\n};\r\n\r\n\/\/ List of properties to process\r\nconst properties = ['tab', 'title', 'description'];\r\n\r\n\/\/ Loop through each row in chapterMap.en\r\nchapterMap.en.forEach(row => {\r\n  properties.forEach(prop => {\r\n    const val = row[prop];\r\n    if (typeof val === 'string') {\r\n      row[prop] = val.replace(\/^[\\'\\\"]+|[\\'\\\"]+$\/g, '');\r\n    }\r\n  });\r\n});\r\n\r\n\/\/ console.log(chapterMap.en); \/\/ Output objects in browser console\r\n\r\n\r\n\/* ====== END CONFIGURATION ====== *\/\r\n\r\n\/* ----- Global Player Variables ----- *\/\r\nlet ytPlayer, ytReady = false, stopTimer = null;\r\nlet hlsInstance = null; \/\/ To store the HLS.js instance\r\nlet html5VideoElement = null; \/\/ To store the HTML5 video element for Bunny\r\n\r\n\r\n\/* ----- Player and Chapters Logic ----- *\/\r\nfunction cleanupPlayers() {\r\n    \/\/ Clear existing stop timer\r\n    if (stopTimer) {\r\n        clearInterval(stopTimer);\r\n        stopTimer = null;\r\n    }\r\n\r\n    \/\/ Cleanup YouTube Player\r\n    if (ytPlayer && typeof ytPlayer.destroy === 'function') {\r\n        ytPlayer.destroy();\r\n    }\r\n    ytPlayer = null;\r\n    ytReady = false;\r\n\r\n    \/\/ Cleanup HLS.js Player\r\n    if (hlsInstance) {\r\n        hlsInstance.destroy();\r\n        hlsInstance = null;\r\n    }\r\n    html5VideoElement = null; \/\/ Clear reference\r\n\r\n    \/\/ Clear the container\r\n    const container = document.getElementById('videoPlayerContainer');\r\n    if (container) container.innerHTML = \"\";\r\n}\r\n\r\nfunction setVideoPlayer(langObj) {\r\n  cleanupPlayers(); \/\/ Ensure previous players are cleaned up\r\n\r\n  const container = document.getElementById('videoPlayerContainer');\r\n  if (!container) return;\r\n\r\n  if (langObj.type === \"youtube\") {\r\n    container.innerHTML = `<div style=\"position: relative; width: 100%; padding-top: 56.25%;\">\r\n<iframe id=\"myVideo\" style=\"position: absolute;  top: 0; left: 0; width: 100%; height: 100%;\" \r\n            src=\"https:\/\/www.youtube.com\/embed\/${langObj.id}?enablejsapi=1&rel=0&origin=${window.location.origin}\"\r\n            frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\r\n            allowfullscreen><\/iframe><\/div>`;\r\n    \/\/ YT API will be loaded\/re-initialized later\r\n  } else if (langObj.type === \"bunny\") {\r\n    const bunnyStreamUrl = `https:\/\/${BUNNY_VIDEO_LIBRARY_ID}\/${langObj.id}\/playlist.m3u8`;\r\n    container.innerHTML = `<video id=\"myVideo\" width=\"100%\" height=\"390\" controls playsinline poster=\"https:\/\/itishoemath.com\/wp-content\/uploads\/2025\/05\/UCsEPI9OwGEw5Lm0E7Paq62g_0003_wWrsW76bG88_en.jpg\"><\/video>`;\r\n    html5VideoElement = document.getElementById('myVideo'); \/\/ Get the new video element\r\n\r\n\tif (html5VideoElement) {\r\n        html5VideoElement.addEventListener('play', () => renderPlayPauseButton(currentChapterIdx));\r\n        html5VideoElement.addEventListener('pause', () => renderPlayPauseButton(currentChapterIdx));\r\n    }\r\n\r\n\t  \r\n    if (Hls.isSupported()) {\r\n        hlsInstance = new Hls();\r\n        hlsInstance.loadSource(bunnyStreamUrl);\r\n        hlsInstance.attachMedia(html5VideoElement);\r\n        hlsInstance.on(Hls.Events.MANIFEST_PARSED, function() {\r\n            \/\/ console.log(\"Bunny HLS: Manifest parsed and video ready.\");\r\n            \/\/ html5VideoElement.play(); \/\/ Optional: Autoplay (mind browser restrictions)\r\n        });\r\n        hlsInstance.on(Hls.Events.ERROR, function(event, data) {\r\n            \/\/ console.error('Bunny HLS Error:', data);\r\n            if (data.fatal) {\r\n                switch(data.type) {\r\n                    case Hls.ErrorTypes.NETWORK_ERROR: hlsInstance.startLoad(); break;\r\n                    case Hls.ErrorTypes.MEDIA_ERROR: hlsInstance.recoverMediaError(); break;\r\n                    default: hlsInstance.destroy(); break;\r\n                }\r\n            }\r\n        });\r\n    } else if (html5VideoElement.canPlayType('application\/vnd.apple.mpegurl')) {\r\n        \/\/ Native HLS support (e.g., Safari)\r\n        html5VideoElement.src = bunnyStreamUrl;\r\n        html5VideoElement.addEventListener('loadedmetadata', function() {\r\n            \/\/ console.log('Bunny Native HLS: Metadata loaded.');\r\n        });\r\n    } else {\r\n        \/\/ console.error('HLS is not supported in this browser for Bunny.net video.');\r\n        container.innerHTML = '<p>Sorry, HLS video playback is not supported in your browser.<\/p>';\r\n    }\r\n  }\r\n}\r\n\r\nfunction renderTabs(activeIdx, chapters) {\r\n  const tabRow = document.getElementById('chapterTabs');\r\n  tabRow.innerHTML = chapters.map((ch, i) =>\r\n    `<button class=\"chapter-tab${i === activeIdx ? \" active\" : \"\"}\" onclick=\"showChapter(${i})\">${ch.tab}<\/button>`\r\n  ).join('');\r\n}\r\n\r\n\r\n\r\n\t\r\nfunction renderPlayPauseButton(idx) {\r\n  const lang = getCurrentLang();\r\n  const chapters = chapterMap['en'];\r\n  const ch = chapters[idx];\r\n  if (!ch) return \"\";\r\n\r\n  let isPlaying = false;\r\n  const videoObj = videoMap[lang] || videoMap['en'];\r\n\r\n  if (videoObj.type === \"youtube\" && ytPlayer && ytReady) {\r\n    isPlaying = ytPlayer.getPlayerState && ytPlayer.getPlayerState() === 1;\r\n  } else if (videoObj.type === \"bunny\" && html5VideoElement) {\r\n    isPlaying = !html5VideoElement.paused;\r\n  }\r\n\r\n  const buttonLabel = isPlaying ? \"Pause\" : \"Play\";\r\n  const buttonIcon = isPlaying ? \"\u23f8\" : \"\u25b6\ufe0f\";\r\n\r\n  const btnHtml = `<button id=\"playPauseBtn\" style=\"padding:0.5em 1em;font-size:1em;border-radius:6px;background: #0F3F91;color:#fff;border:none;cursor:pointer;margin-bottom:1em;transition: background 0.2s;display: block;\">\r\n      ${buttonIcon} ${buttonLabel}\r\n    <\/button>`;\r\n\r\n  const container = document.getElementById('playPauseContainer');\r\n  if (container) {\r\n    container.innerHTML = btnHtml;\r\n    const playPauseBtn = document.getElementById('playPauseBtn');\r\n    if (playPauseBtn) {\r\n      playPauseBtn.onclick = function() {\r\n        let isPlayingNow = false;\r\n        if (videoObj.type === \"youtube\" && ytPlayer && ytReady) {\r\n          isPlayingNow = ytPlayer.getPlayerState && ytPlayer.getPlayerState() === 1;\r\n          ytPlayer.seekTo(ch.time, true);\r\n          if (isPlayingNow) {\r\n            ytPlayer.pauseVideo();\r\n          } else {\r\n            ytPlayer.playVideo();\r\n          }\r\n        } else if (videoObj.type === \"bunny\" && html5VideoElement) {\r\n          isPlayingNow = !html5VideoElement.paused;\r\n          html5VideoElement.currentTime = ch.time;\r\n          if (isPlayingNow) {\r\n            html5VideoElement.pause();\r\n          } else {\r\n            html5VideoElement.play();\r\n          }\r\n        }\r\n        \/\/ No manual re-render here!\r\n      };\r\n    }\r\n  }\r\n}\r\n\r\n\r\nfunction formatTranscriptBlock(lines) {\r\n  let prevTime = null;\r\n  let out = [];\r\n  for (let i = 0; i < lines.length; i++) {\r\n    const { time, text } = lines[i];\r\n    \/\/ Convert seconds to MM:SS\r\n    const min = Math.floor(time \/ 60);\r\n    const sec = Math.floor(time % 60);\r\n    const mmss = `${min}:${sec.toString().padStart(2, '0')}`;\r\n    if (time !== prevTime) {\r\n      out.push(`<br><b><span style=\"color:#FFF\">${mmss}<\/span><\/b> ${text}`);\r\n    } else {\r\n      out.push(text);\r\n    }\r\n    prevTime = time;\r\n  }\r\n  return out.join('<br>');\r\n}\r\n\r\n\r\n\r\n\r\nfunction renderPanel(idx) {\r\n  const lang = getCurrentLang();\r\n\r\n  const simplifiedLabel = document.getElementById('simplified-transcript-label')?.textContent || \"\";\r\n  const simplifiedNote = document.getElementById('simplified-transcript-note')?.textContent || \"Note: ...\";\r\n\r\n  const chapters = chapterMap['en'];\r\n  const ch = chapters[idx];\r\n  if (!ch) {\r\n      console.error(`Chapter index ${idx} not found for language ${lang}.`);\r\n      return;\r\n  }\r\n\r\n  \/\/ --- Find hiddenText lines within this chapter's time range ---\r\n  const linesInRangeArr = hiddenTextLines\r\n    .filter(line => line.time >= ch.time && line.time < ch.stop);\r\n\r\n  const transcriptHTML = formatTranscriptBlock(linesInRangeArr);\r\n\r\n  let extra = \"\";\r\n  if (linesInRangeArr.length) {\r\n    extra = `\r\n      <br><br>\r\n      <!--span style=\"display:block;margin-top:1em;margin-bottom:0.25em;font-weight:bold\">${simplifiedLabel}<\/span-->\r\n      <span style=\"color:#f5f5f5;font-size:100%\">${transcriptHTML}<\/span>\r\n      <br>\r\n      <span style=\"display:block;margin-top:0.75em;font-size:75%;color:#00C2C2;\">\r\n        <br>${simplifiedNote}\r\n      <\/span>\r\n    `;\r\n  }\r\n\r\n  \/\/ Insert the Play\/Pause button at the very top of the panel\r\n  const playPauseButton = renderPlayPauseButton(idx);\r\n\r\n  document.getElementById('chapterPanel').innerHTML =\r\n    `<h3 style=\"margin-top:0;color:#fff\">${ch.title}<\/h3>\r\n     <div id=\"playPauseContainer\" style=\"margin-bottom:1em\"><\/div>\r\n     <p style=\"margin-bottom:0;color:#fff\">${ch.description}${extra}<\/p>`;\r\n\r\n  renderPlayPauseButton(idx);\r\n  renderTabs(idx, chapters);\r\n\r\n  \/\/ Attach the event handler after the button is inserted\r\n  const playPauseBtn = document.getElementById('playPauseBtn');\r\n  if (playPauseBtn) {\r\n    playPauseBtn.onclick = function() {\r\n      const videoObj = videoMap[lang] || videoMap['en'];\r\n      let isPlaying = false;\r\n      if (videoObj.type === \"youtube\" && ytPlayer && ytReady) {\r\n        isPlaying = ytPlayer.getPlayerState && ytPlayer.getPlayerState() === 1;\r\n        ytPlayer.seekTo(ch.time, true);\r\n        if (isPlaying) {\r\n          ytPlayer.pauseVideo();\r\n        } else {\r\n          ytPlayer.playVideo();\r\n        }\r\n      } else if (videoObj.type === \"bunny\" && html5VideoElement) {\r\n        isPlaying = !html5VideoElement.paused;\r\n        html5VideoElement.currentTime = ch.time;\r\n        if (isPlaying) {\r\n          html5VideoElement.pause();\r\n        } else {\r\n          html5VideoElement.play();\r\n        }\r\n      }\r\n      \/\/ Optionally update button after action\r\n      \/\/ setTimeout(() => renderPanel(idx), 300);\r\n    };\r\n  }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nwindow.showChapter = function(idx) {\r\n  currentChapterIdx = idx;\r\n\r\n  const lang = getCurrentLang();\r\n  \/\/ const chapters = chapterMap[lang] || chapterMap['en']; \/\/ Fallback to 'en'   \r\n  \/\/ will switch for video but NOT for text (translatepress will accomplish)\r\n  const chapters = chapterMap['en']; \/\/ Fallback to 'en' chapters\r\n  const chapterData = chapters[idx];\r\n\r\n  if (!chapterData) {\r\n      console.error(`Chapter data for index ${idx} not found.`);\r\n      return;\r\n  }\r\n  renderPanel(idx); \/\/ Update panel and tabs\r\n\r\n  \/\/ Scroll tab into view\r\n  const buttons = document.getElementsByClassName('chapter-tab');\r\n  if (buttons[idx]) buttons[idx].scrollIntoView({ behavior: 'smooth', inline: 'center', block: 'nearest' });\r\n\r\n  const videoObj = videoMap[lang] || videoMap['en'];\r\n\r\n  \/\/ Clear previous stop timer\r\n  if (stopTimer) clearInterval(stopTimer);\r\n\r\n  if (videoObj.type === \"youtube\") {\r\n    if (ytReady && ytPlayer && typeof ytPlayer.seekTo === 'function') {\r\n      ytPlayer.seekTo(chapterData.time, true);\r\n      ytPlayer.playVideo();\r\n      \r\n    } else {\r\n        console.warn(\"YouTube player not ready or seekTo not available.\");\r\n    }\r\n  } else if (videoObj.type === \"bunny\" && html5VideoElement) {\r\n    html5VideoElement.currentTime = chapterData.time;\r\n    html5VideoElement.play().catch(e => console.warn(\"Autoplay after seek prevented:\", e));\r\n  }\r\n};\r\n\r\nfunction reInitChaptersAndPlayer() {\r\n  const lang = getCurrentLang();\r\n  const videoObj = videoMap[lang] || videoMap['en']; \/\/ Fallback to 'en' video\r\n\r\n  if (!videoObj) {\r\n      console.error(`No video configuration found for language: ${lang} or fallback 'en'.`);\r\n      return;\r\n  }\r\n\r\n  setVideoPlayer(videoObj); \/\/ This now also cleans up old players\r\n\r\n  \/\/ Short delay to ensure DOM is updated, especially for iframe\r\n  setTimeout(function(){\r\n    renderPanel(0); \/\/ Render first chapter panel\r\n    if (videoObj.type === \"youtube\") {\r\n      \/\/ Load or re-initialize YT API for new iframe\r\n      if (typeof YT === 'undefined' || !YT.Player) { \/\/ Check if YT object or YT.Player is undefined\r\n        var tag = document.createElement('script');\r\n        tag.src = \"https:\/\/www.youtube.com\/iframe_api\";\r\n        var firstScriptTag = document.getElementsByTagName('script')[0];\r\n        firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n      } else {\r\n        \/\/ If API is loaded, re-initialize player for the new iframe if needed\r\n        onYouTubeIframeAPIReady();\r\n      }\r\n    }\r\n  }, 100); \/\/ Reduced delay, might need adjustment\r\n}\r\n\r\n\/* ----- YT API Bootstrapping ----- *\/\r\n\/\/ This global function is called by the YouTube Iframe API script\r\nwindow.onYouTubeIframeAPIReady = function() {\r\n  const iframe = document.getElementById('myVideo');\r\n  if (iframe && iframe.tagName === 'IFRAME' && !ytPlayer) { \/\/ Ensure it's an iframe and player not already set\r\n    \/\/ console.log(\"onYouTubeIframeAPIReady called, initializing YT Player.\");\r\n    ytPlayer = new YT.Player('myVideo', {\r\n      events: {\r\n        'onReady': function(event) {\r\n          ytReady = true;\r\n          \/\/ console.log(\"YouTube Player Ready.\");\r\n          \/\/ If a chapter was clicked before YT was ready, try to apply it now.\r\n          \/\/ This requires knowing the current chapter index, which might need to be stored.\r\n          \/\/ For simplicity, we'll assume the user might click a chapter again or it starts at 0.\r\n        },\r\n        'onStateChange': function(event) {\r\n\t\t\t\/\/ 1 = playing, 2 = paused\r\n\t\t\trenderPlayPauseButton(currentChapterIdx); \/\/ currentChapterIdx should be tracked globally\r\n\t\t}\r\n      }\r\n    });\r\n  } else if (iframe && iframe.tagName === 'IFRAME' && ytPlayer && typeof ytPlayer.destroy === 'function') {\r\n    \/\/ This case handles if the API is reloaded or if reInit is called and iframe exists\r\n    \/\/ It's a bit tricky; ideally, we destroy and recreate fully.\r\n    \/\/ The cleanupPlayers function should handle most of this.\r\n    \/\/ console.log(\"onYouTubeIframeAPIReady called, player might exist. Attempting to re-bind if necessary.\");\r\n  }\r\n};\r\n\r\n\/* ----- Event Hooks ----- *\/\r\ndocument.addEventListener('DOMContentLoaded', function() {\r\n    if (document.getElementById('videoPlayerContainer')) { \/\/ Only run if the container exists\r\n        reInitChaptersAndPlayer();\r\n\r\n\t\t\r\n\r\n\r\n    }\r\n});\r\n\/\/ TranslatePress fires this event on language change\r\ndocument.addEventListener('trp_language_changed', function() {\r\n    if (document.getElementById('videoPlayerContainer')) { \/\/ Only run if the container exists\r\n        reInitChaptersAndPlayer();\r\n\t\t\r\n\r\n    }\r\n});\r\n\r\n<\/script>\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-40859b7 elementor-widget elementor-widget-html\" data-id=\"40859b7\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n\/* Your existing CSS is good, no changes needed unless you want to refine *\/\n.chapter-tabs-scroll {\n  display: flex;\n  overflow-x: auto;\n  gap: 10px;\n  margin-bottom: 18px;\n  scrollbar-width: thin;\n  scrollbar-color: #a0aec0 #f7fafc; \/* For Firefox *\/\n  -webkit-overflow-scrolling: touch;\n  padding-bottom: 5px; \/* To make scrollbar visible without cutting content *\/\n  border-radius: 8px; \/* Optional: if you want rounded corners for the scroll area *\/\n}\n\/* Webkit Scrollbar Styles *\/\n.chapter-tabs-scroll::-webkit-scrollbar {\n  height: 7px;\n}\n.chapter-tabs-scroll::-webkit-scrollbar-track {\n  background: #111; \/* Or a lighter color if preferred *\/\n  border-radius: 4px;\n}\n.chapter-tabs-scroll::-webkit-scrollbar-thumb {\n  background: #333; \/* Or a contrasting color *\/\n  border-radius: 4px;\n}\n.chapter-tab {\n  white-space: nowrap;\n  border: none;\n  background: #222; \/* Darker tab background *\/\n  color: #fff;\n  font-size: 1.1em;\n  padding: 8px 22px;\n  border-radius: 999px; \/* Pill shape *\/\n  cursor: pointer;\n  transition: background 0.2s, color 0.2s, font-weight 0.2s, box-shadow 0.2s;\n  margin-bottom: 0; \/* Ensure no extra space below tabs if they wrap *\/\n  outline: none; \/* Remove default focus outline if you have custom focus styles *\/\n  margin-right: 0; \/* Reset if previously set for spacing between items *\/\n}\n.chapter-tab.active,\n.chapter-tab:hover {\n  background: #e0e7ff; \/* Light blue for active\/hover *\/\n  color: #111; \/* Dark text for active\/hover *\/\n  font-weight: bold;\n  box-shadow: 0 2px 8px #dbeafe66; \/* Softer shadow *\/\n}\n.chapter-panel {\n  background: rgba(20,20,20,0.88); \/* Semi-transparent dark background *\/\n  border-radius: 8px;\n  box-shadow: 0 2px 6px #111; \/* Subtle shadow *\/\n  padding: 20px 24px;\n  min-height: 80px; \/* Ensure panel has some height even if description is short *\/\n  transition: box-shadow 0.3s; \/* Smooth shadow transition on hover (if any) *\/\n}\n\/* Add a class for the video player container if you want to target its children more easily *\/\n#videoPlayerContainer video { \/* Ensure video tag fits container *\/\n    display: block; \/* Removes extra space below if it's inline *\/\n}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e4bc449 e-flex e-con-boxed e-con e-parent\" data-id=\"e4bc449\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-fdce02d e-con-full e-flex e-con e-child\" data-id=\"fdce02d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6160f3a elementor-widget elementor-widget-shortcode\" data-id=\"6160f3a\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!-- Post Page Mid Roll -->\r\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ea60902 elementor-widget elementor-widget-html\" data-id=\"ea60902\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- 4. NO TOUCH Scripts -->\n<!-- ImageID_4 HTML external scripts to call + JS -->\n<!-- script src=\"https:\/\/code.jquery.com\/jquery-3.7.1.min.js\"><\/script -->\r\n<script>\r\njQuery(document).ready(function ($) {\r\n\r\n  \/\/ --- IMAGE HOTSPOTS AND BUTTONS INIT ---\r\n  $('.hotspot-block').each(function () {\r\n    const $block = $(this);\r\n    const id = $block.data('id');\r\n    const $image = $block.find(`.main-image[data-id=\"${id}\"]`);\r\n    const $container = $block.find('.hotspot-container');\r\n    const $buttons = $block.find('.hotspot-buttons');\r\n    const imageUrl = imageMap[id];\r\n\r\n\r\n\t\r\n    const csvRaw = $(`pre#hotspot-data-${id}`).text().trim();\r\n\r\n    const activeNumbers = [];\r\n    $block.data('activeNumbers', activeNumbers);\r\n\r\n    if (!imageUrl) return;\r\n    $image.attr('src', imageUrl);\r\n\r\n    $image.on('load', function () {\r\n      const imgWidth = $image[0].naturalWidth;\r\n      const imgHeight = $image[0].naturalHeight;\r\n\r\n      \/\/ --- Simple Pipe-Delimited Parse ---\r\n\tconst lines = csvRaw.split('\\n').map(line => line.trim()).filter(Boolean);\r\n\tif (lines.length < 2) return;\r\n\t\/\/ Optionally check header here if you want\r\n\tconst data = lines.slice(1).map(line => {\r\n\t  \/\/ Split by pipe instead of comma, but allow pipes in the text field (by joining the rest)\r\n\t  const parts = line.split('|');\r\n\t  const order = parts[0] ? parts[0].trim() : '';\r\n\t  const x_px = parts[1] ? parts[1].trim() : '';\r\n\t  const y_px = parts[2] ? parts[2].trim() : '';\r\n\t  const direction = parts[3] ? parts[3].trim() : '';\r\n\t  const text = parts.length > 4 ? parts.slice(4).join('|').trim() : '';\r\n\t  return { order, x_px, y_px, direction, text };\r\n\t});\r\n\r\n\t\/\/ console.log('Parsed data:', data);\r\n\r\n\r\n      data.forEach(row => {\r\n        const number = String($.trim(row.order));\r\n        const xPx = parseFloat(row.x_px);\r\n        const yPx = parseFloat(row.y_px);\r\n        const dir = (row.direction || \"A\").trim().toUpperCase();\r\n        const text = $.trim(row.text);\r\n        const leftPercent = (xPx \/ imgWidth) * 100;\r\n        const topPercent = (yPx \/ imgHeight) * 100;\r\n\r\n        const tooltipClass = {\r\n          A: 'tooltip-above',\r\n          B: 'tooltip-below',\r\n          L: 'tooltip-left',\r\n          R: 'tooltip-right'\r\n        }[dir] || 'tooltip-above';\r\n\r\n        \/\/ Tooltip text present in DOM for TranslatePress!\r\n        const formattedText = `${number}. ` + text.replace(\/\\n\/g, '<br>');\r\n        const $hotspot = $(`\r\n          <div class=\"hotspot ${tooltipClass}\" data-number=\"${number}\">\r\n            <span class=\"hotspot-number\">${number}<\/span>\r\n            <span class=\"hotspot-tooltip\" style=\"display:none;\">${formattedText}<\/span>\r\n          <\/div>\r\n        `).css({\r\n          left: `${leftPercent}%`,\r\n          top: `${topPercent}%`,\r\n          transform: 'translate(-50%, -50%)',\r\n          position: 'absolute'\r\n        });\r\n\r\n        $container.append($hotspot);\r\n        $buttons.append(`<button class=\"hotspot-btn\" data-number=\"${number}\">${number}<\/button>`);\r\n      });\r\n    });\r\n  });\r\n\r\n  \/\/ --- STYLE UPDATE FUNCTION ---\r\nfunction updateStyles($block) {\r\n  const active = $block.data('activeNumbers') || [];\r\n  $block.find('.hotspot').each(function () {\r\n    const num = String($(this).data('number'));\r\n    const $tooltip = $(this).find('.hotspot-tooltip');\r\n    if (active.includes(num)) {\r\n      $(this).addClass('enlarged active');\r\n      $tooltip.show(); \/\/ <-- Show tooltip!\r\n    } else {\r\n      $(this).removeClass('enlarged active');\r\n      $tooltip.hide(); \/\/ <-- Hide tooltip!\r\n    }\r\n  });\r\n  $block.find('.hotspot-btn').each(function () {\r\n    const num = String($(this).data('number'));\r\n    $(this)\r\n      .toggleClass('highlight', active.includes(num))\r\n      .toggleClass('enlarged', active.includes(num));\r\n  });\r\n}\r\n\r\n\r\n  \/\/ --- HOTSPOT\/BUTTON CLICK ---\r\n  $(document).on('click', '.hotspot, .hotspot-btn', function (e) {\r\n    e.preventDefault();\r\n    const $clicked = $(e.target).closest('.hotspot, .hotspot-btn');\r\n    const num = String($clicked.data('number'));\r\n    const $block = $clicked.closest('.hotspot-block');\r\n    let active = $block.data('activeNumbers') || [];\r\n\r\n    const wasActive = active.includes(num);\r\n\r\n    \/\/ Clear Hide if checked\r\n    const $hide = $block.find('.hide-numbers-toggle');\r\n    if ($hide.is(':checked')) {\r\n      $hide.prop('checked', false).trigger('change');\r\n    }\r\n\r\n    if (wasActive) {\r\n      active = active.filter(n => n !== num);\r\n    } else {\r\n      active = [num]; \/\/ Only one active at a time\r\n    }\r\n    $block.data('activeNumbers', active);\r\n    updateStyles($block);\r\n\r\n    \/\/ Uncheck \"Show all\" if not all hotspots are active\r\n    const allNums = $block.find('.hotspot').map((_, el) => String($(el).data('number'))).get();\r\n    const $toggle = $block.find('.show-all-toggle');\r\n    const isAllActive = allNums.every(n => active.includes(n));\r\n    $toggle.prop('checked', isAllActive);\r\n  });\r\n\r\n  \/\/ --- SHOW ALL \/ HIDE MUTUAL EXCLUSIVITY AND BEHAVIOR ---\r\n  $(document).on('change', '.show-all-toggle', function() {\r\n    const id = $(this).data('id');\r\n    const $block = $(`.hotspot-block[data-id=\"${id}\"]`);\r\n    const $hide = $block.find('.hide-numbers-toggle');\r\n    const $hotspots = $block.find('.hotspot');\r\n    const allNums = $hotspots.map((_, el) => String($(el).data('number'))).get();\r\n\r\n    \/\/ Mutually exclusive: uncheck Hide if Show All is checked\r\n    if ($(this).is(':checked')) {\r\n      if ($hide.is(':checked')) {\r\n        $hide.prop('checked', false).trigger('change');\r\n      }\r\n      $block.data('activeNumbers', allNums);\r\n    } else {\r\n      $block.data('activeNumbers', []);\r\n    }\r\n\r\n    updateStyles($block);\r\n  });\r\n\r\n  \/\/ Hide handler\r\n  $(document).on('change', '.hide-numbers-toggle', function() {\r\n    const id = $(this).data('id');\r\n    const $block = $(`.hotspot-block[data-id=\"${id}\"]`);\r\n    const $showAll = $block.find('.show-all-toggle');\r\n    const $hotspots = $block.find('.hotspot');\r\n    const checked = $(this).is(':checked');\r\n\r\n    \/\/ Mutually exclusive: uncheck Show All if Hide is checked\r\n    if (checked && $showAll.is(':checked')) {\r\n      $showAll.prop('checked', false).trigger('change');\r\n    }\r\n\r\n    if (checked) {\r\n      $hotspots.hide();\r\n      $block.find('.enlarged, .active').removeClass('enlarged active');\r\n    } else {\r\n      $hotspots.show();\r\n    }\r\n  });\r\n\r\n  \/\/ --- CLICKING OUTSIDE CLEARS EVERYTHING ---\r\n  $(document).on('click', function (e) {\r\n    const $target = $(e.target);\r\n    const $block = $target.closest('.hotspot-block');\r\n    $('.hotspot-block').each(function () {\r\n      const $thisBlock = $(this);\r\n      if (!$block.length || !$block.is(this)) {\r\n        $thisBlock.data('activeNumbers', []);\r\n        $thisBlock.find('.show-all-toggle').prop('checked', false);\r\n        updateStyles($thisBlock);\r\n      }\r\n    });\r\n  });\r\n\r\n});\r\n<\/script>\r\n \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Les niveaux secrets de la croissance humaine dont personne ne parle : Comment vous pouvez vous en sortir Vous \u00eates-vous d\u00e9j\u00e0 demand\u00e9 pourquoi certaines personnes semblent progresser dans la vie alors que d'autres restent bloqu\u00e9es, quels que soient les efforts qu'elles d\u00e9ploient ? La plupart des programmes d'aide \u00e0 l'autonomie ne tiennent pas compte de la v\u00e9ritable feuille de route de la croissance psychologique, mais si vous pouviez voir le [...]<\/p>","protected":false},"author":6,"featured_media":5197,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[140,100,141,142,132],"tags":[127,126,129,128],"class_list":["post-5180","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-levels","category-free-newsletter-insider-exclusives","category-psychological-development","category-self-awareness","category-social-dynamics","tag-es","tag-fr","tag-ja","tag-pt"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/posts\/5180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/comments?post=5180"}],"version-history":[{"count":27,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/posts\/5180\/revisions"}],"predecessor-version":[{"id":5363,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/posts\/5180\/revisions\/5363"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/media\/5197"}],"wp:attachment":[{"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/media?parent=5180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/categories?post=5180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/tags?post=5180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}